pbootcms生成的sitemap.xml中增加tag标签链接
实现步骤
1、实现sitemap.xml中增加tag页面url
打开/apps/home/controller/SitemapController.php,找到echo $str . "\n</urlset>";在上方增加:
$parser_model = model('home.Parser');
if (! ! $rs = $parser_model->getSortTags('')) {
$tags = implode(',', $rs); // 把栏目tags串起来
$tags = array_unique(explode(',', $tags)); // 再把所有tags组成数组并去重
foreach ($tags as $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 ($tags as $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 . "\n";
}
}
}完成以上两步后即可实现sitemap.xml和sitemap.txt中调用tag链接。
