分享dedecms 用标签cattree获取网站所有栏目-kb88凯时官网登录

时间:2020-12-01
阅读:
免费资源网 - https://freexyz.cn/

我们做了一个网站,里面大概有三四千个栏目,栏目里面还分一二三级栏目。在做xml网站地图时,需要把网站所有的栏目都列出来。之前用的代码是:



    {dede:channel typeid='483' row='2000'}
        [field:typelink/]
        2014-12-26
        daily
        0.8
    
    {/dede:channel}
    ......

这样要手动指定很多栏目的id,无法读出一二三级的栏目,相当低麻烦,本来想找另外一个标签,可以一下子把所有的一二三级栏目都调取出来,但没找到。

最终我找了标签cattree来实现:



    {dede:cattree typeid='483' catid='483' /}{/dede:cattree}
    {dede:cattree typeid='264' catid='264' /}{/dede:cattree}
    ......

这样只需要指定网站所有的一级栏目id,工作瞬间轻松99%。

由于标签cattree读取出来的内容,包含带有dl dt等html结构代码,因此还要去修改。

找到文件includetaglibcattree.lib.php,看文件底部。

$row['typelink'] = getonetypeurla($row);
$revalue .= "
\n"; $revalue .= "
\n"; cattreelistson($row['id'], $revalue); $revalue .= "
\n";

这个输出的三级栏目的样式

$row['typelink'] = getonetypeurla($row);
$thisv .= "    
\n"; $thisv .= "
\n"; cattreelistson($row['id'], $thisv); $thisv .= "
\n";

这个输出的二级栏目的样式

if($thisv!='') $revalue .= "    
\n$thisv
\n";

这个输出的二级栏目下有子栏目的大样式

我修改后三段代码的分别是:

$row['typelink'] = getonetypeurla($row);
$revalue .= "\n";
$revalue .= "{$row['typelink']}\n2014-12-26\ndaily\n0.8\n\n";
cattreelistson($row['id'], $revalue);
$revalue .= "";
$row['typelink'] = getonetypeurla($row);
$thisv .= "\n";
$thisv .= "{$row['typelink']}\n2014-12-26\ndaily\n0.8\n\n";
cattreelistson($row['id'], $thisv);
$thisv .= "";
if($thisv!='') $revalue .= "$thisv";
免费资源网 - https://freexyz.cn/
返回顶部
顶部
网站地图