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

我们在用pbootcms生成sitemap.xml时候默认是不含tag标签链接的,如果我们想要增加tag标签的链接进去,方便提交给百度要怎么操作呢? 操作步骤 1、打开/apps/home/model/SitemapModel.php,在78行后面增加个指定分类标签调用代码。 //指定分类标签调用publicfu
我们在用pbootcms生成sitemap.xml时候默认是不含tag标签链接的,如果我们想要增加tag标签的链接进去,方便提交给百度要怎么操作呢?

操作步骤

1、打开/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;
}

2、打开/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');
        }
    }
}
完成以上两步后即可实现sitemap中调用tag链接,具体效果大家可以去操作试下。
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

用pbootcms建站中有时会碰到有些文字是换行的,然后我们可以在后台的文本输入框中文字中间增加br,但是前台显示出来的效果却把换行符当作符号直接输出了例如:lt;brgt;那么有没办法让他直接变成换行效果呢? 我们查看官方的手册,在公共标签中,可以看到如下
pbootcms2.0.9版针对SEO对个性化标题的需求,增加了标题自定义功能,具体位置在全局配置-配置参数-标题样式,可以任意组合,官方介绍的常用组合: 常用组合标签:全局标签:{pboot:sitetitle}站点标题、{pboot:sitesubtitle}站点副标题列表或内容页:{sort:n
通用标签 文本换行调用实现换行 加上decode=1即可,decode=1 解码数据html字符,如果等于0.则不解码(包括源码已经解码的),此标签一般不使用 {pboot:companyaddressdecode=1} 头部尾部 二级栏目做头部导航,以下二级栏目为固定写死方法 divclass="nav"divcl
很多朋友在网站做好后很长一段时间不关注网站,不登录后台看留言,有时候客户的留言不能及时处理,可能就失去了一个优质客户。对于pbootcms开发的网站,我们要将客户的留言直接发到我们邮箱要怎么操作呢? 操作步骤 1、网站设置: 打开后台进入配置参数-邮箱
我们在使用pbootcms建站时候,肯定想以最优的速度打开网站,下面总结了一些经验,希望大家在建站时候能够用到上。 程序服务器 首先说明这里讲的网页速度是排除掉静态资源加载的,这里的速度是用户访问域名然后程序响应回来所花的时间,主要影响因素有以下几点
一些新手朋友在安装pbootcms经常遇到一些错误,下面罗列出pbootcms在后台或者前台出现的问题和解决方法。 1、Parse error: syntax error, unexpected :, expecting { in www\core\function\handle.php on line 130 这个问题是php版本的问题,在最新版的pbootc