某些特殊场景里,用织梦dedecms建站时,在网站导航栏需要判断不同的栏目显示不同的class,这样可以为每个栏目设置不一样的效果,更能让网站看起来与众不同等等。
网站导航栏一般都是用channelartlist标签进行调用,可以调用后台里面设置好的所有一级、二级、三级栏目。
织梦dedecms的channelartlist标签下if判断不同的栏目显示不同的class,完整实际代码如下:
{dede:channelartlist typeid='top' row='8' currentstyle="current"} <li class="{dede:field.currentstyle/}"> <a href="{dede:field name='typeurl'/}" class="">{dede:field name='typename' /}</a> {dede:field name='typeid' runphp='yes'} if(@me==3 || @me==4 || @me==5){ @me='<div class="zmenu2">'; }else{ @me='<div class="zmenu">'; } {/dede:field} <dl> <dd class="zmenu-l"><img src="{dede:field name='typeimg' /}" /></dd> <dd class="zmenu-r"> {dede:sql sql='select * from dede_arctype where reid =~id~ '} <span> <h1><a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]">[field:typename/]</a></h1> <ul class="cp_nav"> [field:id runphp='yes'] global $dsql; $id=@me; $sql='Select * from dede_arctype where reid='.$id.' ORDER BY id limit 0,20'; $dsql->SetQuery($sql); $dsql->Execute(); while($row = $dsql->GetArray()){ $url = str_replace("{cmspath}","",$row['typedir']); $str .='<li><a href="'.$url.'" target="_blank">'.$row['typename'].'</a></li><li>|</li>'; @me = $str; } if(@me == $id){ @me =''; } [/field:id] </ul> </span> {/dede:sql} </dd> </dl> </div> </li> {/dede:channelartlist}
上述代码中if判断栏目的代码是:
{dede:field name='typeid' runphp='yes'} if(@me==3 || @me==4 || @me==5){ @me='<div class="zmenu2">'; }else{ @me='<div class="zmenu">'; } {/dede:field}
此段代码的意思就是当判断到栏目typeid=3或者typeid=4或者typeid=5时,显示<div class="zmenu2">,其他栏目则显示<div class="zmenu">。
然后就可以给不同的class代码做js或者css等不同的样式,已到达网页特殊效果。
您已成功复制微信号
leishi010
打开微信添加好友?
确定