首页 > 其他分享 >PbootCMS自带的sitemap.xml增加tag标签链接

PbootCMS自带的sitemap.xml增加tag标签链接

时间:2024-10-30 08:47:05浏览次数:1  
标签:xml tags tag scode home array sitemap value2

  1. 修改 SitemapModel.php 文件

    • 打开 /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;
      }
      修改 SitemapController.php 文件
    • 打开 /apps/home/controller/SitemapController.php 文件
    • 在 73 行后面增加以下代码:
      if (!empty($rs = $this->model->getSortTags(''))) {
          $tags = implode(',', $rs);
          $tags = array_unique(explode(',', $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');
              }
          }
      }
  • 访问 sitemap.xml 即可看到生成的带有 tag 的链接地址。

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

相关文章

  • springmvc-servlet.xml和web.xml文件的存放路径是哪里?项目添加到Tomcat上运行后就报错
        用eclipse写了一个简单的web项目,springmvc-servlet.xml文件和web.xml文件都配置好了,运行起来能看见hello的web页面,但是有一堆报错,不知道是什么原因                                     ......
  • zblog获取tag列表函数GetTagList参数和使用方法介绍说明
    函数位置:zblogphp.php文件,大约2641行。函数参数:$select:数组,获取指定数据。$where:数组,数据获取限制规则。$order:数组,数据获取排序规则。$limit:数组,获取数据数量限制。$option:数组,附加限制选项,可用来获取指定范围内的数据。函数输出:输出一个数组。示例:{......
  • ArkTS 中的 XML 解析与生成:应用开发实战
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。引言XML是一种广泛使用的标记语言,用......
  • 高性能 ArkUI 应用开发:复杂 UI 场景中的内存管理与 XML 优化
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在开发高性能ArkUI应用时,尤其是涉及......
  • DataGridView控件使用学习
    一、DataGridView控件及元素初始化//DataGridView控件初始化publicSystem.Windows.Forms.DataGridViewdataGridView1;this.dataGridView1=newSystem.Windows.Forms.DataGridView();//DataGridView列初始化publicSystem.Windows.Forms.DataGridViewCheckBoxColumnCol......
  • XML和HTML的区别
    XML和HTML两种标记语言的主要区别包括:1.用途和应用范围不同;2.语法规则不同;3.标签定义不同;4.数据和显示分离程度不同;5.浏览器支持和解析方式不同。深入理解这些区别对于开发人员和内容创建者来说至关重要,它将帮助他们更有效地利用这些技术来满足特定的需求。1.用途和应用范......
  • C# DataGridView 禁用或灰显单元格 只读 清除单元格选择
    1.清除单元格选择DataGridView.ClearSelection();效果2.单元格灰显//单元格设为只读DataGridView.ReadOnly=true;//表格背景色DataGridView.BackgroundColor=SystemColors::Control;//标题栏背景色DataGridView.ColumnHeadersDefaultCellStyle.BackColor=Sys......
  • MAVEN配置文件(settings.xml)偏好设置 配置仓库、镜像地址
    1、配置本地仓库在conf/settings.xml文件中,setting标签下配置你的本地maven本地仓库<!--localRepository|Thepathtothelocalrepositorymavenwillusetostoreartifacts.||Default:${user.home}/.m2/repository<localRepository>/path/to/l......
  • DataGrip 2024.2.2 最新安装教程(附激活-2099年~)
    下载DataGrip2024.2.2版本的安装包。下载补丁https://pan.quark.cn/s/fcc23ab8cadf检查免责声明:本文中的资源均来自互联网,仅供个人学习和交流使用,严禁用于商业行为,下载后请在24小时内从电脑中彻底删除。对于因非法使用而引起的版权争议,与作者无关。所有资源仅供学习......
  • DISM 支持使用无人值守文件(通常为 .xml 格式)来执行各种操作,特别是在部署和维护 Window
    DISM支持使用无人值守文件(通常为.xml格式)来执行各种操作,特别是在部署和维护Windows映像时。以下是一些可以与无人值守文件一起使用的DISM参数:1. /Apply-Unattend这个参数用于应用无人值守文件到Windows映像。可以在以下命令中使用:bashCopyCodeDism/Image:"C:\Path......