首页 > 其他分享 >PbootCMS生成的sitemap.xml中增加tag标签链接

PbootCMS生成的sitemap.xml中增加tag标签链接

时间:2024-09-14 08:53:05浏览次数:13  
标签:xml tags tag scode home array sitemap value2

打开/apps/home/model/SitemapModel.php,在78行后面增加个指定分类标签调用代码

// 指定分类标签调用
public function getSortTags($scode)
{
    $join = array(
        array(
            'ay_content_sort b',
            'a.scode=b.scode',
            'LEFT'
        ),
        array(
            'ay_model c',
            'b.mcode=c.mcode',
            'LEFT'
        )
    );
    
    $scode_arr = array();
    if ($scode) {
        // 获取所有子类分类编码
        $this->scodes = array(); // 先清空
        $scodes = $this->getSubScodes(trim($scode)); // 获取子类
                                                     
        // 拼接条件
        $scode_arr = array(
            "a.scode in (" . implode_quot(',', $scodes) . ")",
            "a.subscode='$scode'"
        );
    }
    $result = parent::table('ay_content a')->where('a.status=1')->where("c.type=2 AND a.tags<>''")
        ->where($scode_arr, 'OR')
        ->join($join)
        ->order('a.visits DESC')
        ->column('a.tags');
    return $result;
}

打开/apps/home/controller/SitemapController.php,在73行后面增加

if (! ! $rs = $this->model->getSortTags('')) {
    $tags = implode(',', $rs); // 把栏目tags串起来
    $tags = array_unique(explode(',', $tags)); // 再把所有tags组成数组并去重
    foreach ($tags as $key2 => $value2) {
        if (! in_array($value2, array_column($data, 'tags'))) { // 避免重复输出
            $url_rule_type = $this->config('url_rule_type') ?: 3;
            if ($url_rule_type == 3) {
                $link2 = Url::home('tag=' . urlencode($value2), '');
            } else {
                $link2 = Url::home('tag/' . urlencode($value2));
            }
            $str .= $this->makeNode($link2, date('Y-m-d'), '0.80');
        }
    }
}

 

标签:xml,tags,tag,scode,home,array,sitemap,value2
From: https://www.cnblogs.com/hwrex/p/18413239

相关文章

  • WPF Datagrid DataGridTemplateColumn.CellTemplate local:ImageTextblock ImgUrl="{
    DataGridTemplate.CellTemplatecontainsonedatatemplaewilldisplaythecustomoizedcontrol,thekeylocatedatthecustomcontrol'sdependencypropertybindingandrelativesourceofx:typedatagridrow<local:ImageTextblockImgUrl="{Binding......
  • Python XML 解析
    什么是XML?Python对XML的解析1.SAX(simpleAPIforXML)2.DOM(DocumentObjectModel)3.ElementTree(元素树)python使用SAX解析xmlContentHandler类方法介绍make_parser方法parser方法parseString方法Python解析XML实例使用xml.dom解析xml什么是XML?XML......
  • spring boot 3.3.3 通用 pom.xml
      springboot3.3.3通用pom.xml <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=&qu......
  • xml解析读取 linqtoxml
    XML解析读取LINQtoXML\LINQtoXML\Program.csusingSystem;usingSystem.Linq;usingSystem.Xml.Linq;namespaceLINQtoXML{classProgram{publicvoidMethodSyntax(){varstudentsXML=XElement.Load("Students.xml&qu......
  • C# 操作xml(转)
    四、xml1、概念:XML可扩展的标记语言类似于HTMLXML:存储数据注意:XM工是严格区分大小写的。XML标签也是成对出现的。2、通过代码来创建xML文档1、引用命名空间usingSystem.Xml;2、创建XML文档对象XmlDocumentdoc=newXmlDocument();3、创建第一行描述信息,并且添......
  • MyBatis 3种 使用 SQL 语句的方式;注解方式、注解提供器方式、XML 配置方式
    结论:为了统一使用方式,建议采用XML配置的方式;MyBatis提供了多种配置和使用SQL语句的方式,主要包括:注解方式(如@Select)、注解提供器方式(如@SelectProvider)和XML配置方式。每种方式都有其独特的优缺点,适用于不同的场景。以下是这三种方式的详细对比:1.@Select这类注解优点:......
  • YAML 与 JSON、XML 比较及 YAML 使用最佳实践
    YAML(YAMLAin'tMarkupLanguage的递归缩写)是一种人类可读的数据序列化格式,通常用于配置文件、数据交换和设置管理。它简洁且易于读写,尤其适合在编程语言之间传递配置数据。以下是一些YAML的基本概念和语法示例:基本语法键值对:name:JohnDoeage:30嵌套:person:name:JohnDoe......
  • Google 发布 DataGemma 技术减少 AI 生成错误信息 (即幻觉)
    Google推出了DataGemma,这是基于真实世界数据的两个新Gemma模型版本,旨在减少AI生成中的“幻觉”问题。DataGemma通过利用GoogleDataCommons中超过2400亿个来自可信来源的统计数据,显著提高了模型在处理数值和统计数据时的准确性。DataGemma采用了两种关键技术:检索......
  • dotnet OpenXML SDK 添加 CoreFilePropertiesPart 的方法
    本文记录在OpenXMLSDK2.15版本下,为PPTX文件添加CoreFilePropertiesPart的方法,通过本文的方法可以正确且简单的添加core.xml文件到PPTX文件里当前的OpenXMLSDK存在已知问题,那就是默认情况下生成不包含core.xml文件,请参阅https://github.com/dotnet/Open-XML-SDK......
  • DataGrip或者intellijIDEA 远程链接数据库的时候下载驱动失败 出现错误:https://downlo
    一、问题本人使用DataGrip版本:2023.1在链接数据库的时候出现这个错误,无法完全加载驱动,是因为这里的maven仓库下载驱动失败,这时候需要自己手动下载驱动二、怎么解决需要手动更改下载的镜像网址,改成阿里云的镜像网址仓库服务(aliyun.com)这三个仓库地址,可以选择其中一个......