用DedeCMS做三级栏目的网站建设时,会经常需要调用三级栏目,并不需要太多二次开发,用channelartlist标签就能调用了,比如调用栏目id为6的子栏目然后再调用子栏目的子栏目,有多少个一级栏目就写多少次,修改一下typeid即可,虽然稍微麻烦了点,总比大串的代码强多了。写法如下:
{dede:channelartlist typeid = '6'}
<li><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<p class="subnav">
{dede:channel type='son'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
</p>
</li>
{/dede:channelartlist}
这样就解决了三级栏目调用的问题,但是当栏目没有子栏目的时候,默认调用同级栏目,源程序估计认为这样的展现比较好,但实际上体验非常不好。下面秀站网提供修正方法。
↑上面三个栏目没有子栏目,channel标签调用了同级栏目名
打开 /include/taglib/channel.lib.php ,找到
if($type=='son' && $reid!=0 && $totalRow==0)
修改为
if($type==?'son' && $reid!=0 && $totalRow==0 && $noself=='')
channel标签中加上 noself='yes' 即可。
{dede:channel type='son' row='5' noself='yes'}
发表评论
评论列表(条)