zdcms当前栏目高亮几种循环调用中的写法
常用的栏目调用时判断栏目高亮原理是栏目变量catids数组存储的是此栏目的id集合,开发者可以利用当前栏目id是否存在于这个集合中来判断高亮,例如:
{if in_array($栏目id号, $循环体前缀字母.catids)} active{/if}
共享栏目判断高亮:
{category ********} 在循环体中判断当前栏目高亮显示 {if IS_SHARE && $catid && in_array($catid, $t.catids)} active{/if} {/category}
独立栏目判断高亮:
{category module=news ********} 在循环体中判断当前栏目高亮显示 {if MOD_DIR == "news" && $catid && in_array($catid, $t.catids)} active{/if} {/category}
但是偶尔会遇到特殊情况,我们需要判断当前栏目有子栏目就调用子栏目,没有子栏目就循环调用同级栏目的调用方法,如下;
{loop $related $c} <li><a href='{$c.url}' {if $c.id==$cat.id} class="active link"{else} class="link"{/if}>{$c.name}</a></li> {/loop}
其中判断当前栏目高亮就要这样写;
{if $c.id==$cat.id} class="active link"{else} class="link"{/if}