先给大家看一段代码:
{dede:channelartlist typeid = 3}
<li><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<ul>
{dede:channel type='son' noself='yes'}
<li><a href="[field:typelink/]">·[field:typename/]</a></li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
这段代码的意思是查询栏目id为3的子栏目然后在查询子栏目的子栏目。效果如图所示:
但是这样会出现一个问题,就是如果该栏目没有子栏目的话,就会取他的同级栏目,那么如何解决{dede:channel type='son'}无子栏目时取同级栏目问题呢?
其实很简单:
打开:includetaglibchannel.lib.php文件。
找到
if($type=='son' && $reid!=0 && $totalRow==0)
改成
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')
这样就对了。
【dedecms中关于{dede:channel type='son'}无子栏目时取同级栏目问题是解决方法分享】相关文章:
★ dedecms 列表页,频道页获取当前栏目的父栏目名称的实现方法
★ dedecms下广告延时加载显示,大大提高网页访问的速度
★ dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容
★ dedecms任意页面调用栏目内容标签{dede:field.content/}的方法
★ dedecms5.7 通过替换文件升级后 所有档案列表为空的解决方法