dede二次开发:无子栏目时显示同级栏目名问题
以前二次开发的时候,碰到没有子栏目的栏目的时候,模板是共用的,当使用{dede:channelartlist row=7 typeid='5'}时,栏目下没有子栏目的shi和,会出现获取空白的情况。找到如下代码:
<ul>
{dede:channelartlist typeid='3'}
<li class="li_biaoti"><a href="{dede:field name='typeurl'/}" >{dede:field name='typename'/}</a></li>
{dede:channel type='son' noself='yes'}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
{/dede:channelartlist}
</ul>
但是这个有缺点,如果没有子栏目下面,这段代码会把所有同级的栏目都取出来,这样页面就出现问题了。其实这个可以加入一个限定条件。需要修改include\taglib\channel.lib.php文件,这个文件代码注释很详细:
查找
if($type=='son' && $reid!=0 && $totalRow==0)
在条件判断部分,加入红色部分
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')
这样就对了。