知识专栏
多方位、多角度、深度解读您所关心的问题

某些特殊场景里,用织梦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

打开微信添加好友?

确定