效果介绍
pbootcms生成的sitemap.xml和sitemap.txt中默认是不含tag标签链接的,如果想增加怎么办,下来来介绍下如何二开实现。实现后如下图,所有的tag链接都会进去。
实现步骤
1、实现sitemap.xml中增加tag页面url
打开/apps/home/controller/SitemapController.php,找到echo $str . "</urlset>";在上方增加:
$parser_model=model('home.Parser');if(!!$rs=$parser_model->getSortTags('')){$tags=implode(',',$rs);//把栏目tags串起来$tags=array_unique(explode(',',$tags));//再把所有tags组成数组并去重foreach($tagsas$key2=>$value2){if(!in_array($value2,array_column($tags,'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');}}}
截图:
2、实现sitemap.txt中增加tag页面url
打开/apps/home/controller/SitemapController.php,找到echo $str;在上方增加:
$parser_model=model('home.Parser');if(!!$rs=$parser_model->getSortTags('')){$tags=implode(',',$rs);//把栏目tags串起来$tags=array_unique(explode(',',$tags));//再把所有tags组成数组并去重foreach($tagsas$key2=>$value2){if(!in_array($value2,array_column($tags,'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.=get_http_url().$link2."";}}}
截图:
完成以上两步后即可实现sitemap.xml和sitemap.txt中调用tag链接。