织梦怎么调用顶级栏目以及下面的二级栏目?
织梦调用顶级栏目以及下面的二级栏目
推荐学习:织梦cms
有些时候需要调用顶级栏目以及下面的二级栏目,例如再做下拉菜单时。最简单的调用二级栏目的办法:
{dede:channelartlist typeid='top'}<li><a href="{dede:field name='typeurl'/}" target="_self">{dede:field name='typename'/}</a><ul>{dede:channel type='son' noself='yes'}<li><a href="[field:typelink/]" target="_self">[field:typename/]</a></li>{/dede:channel}</ul></li>{/dede:channelartlist}
有些时候需要做样式时,需要为dede:channelartlist 里的某个标签加上不同的css,例如下面的例子:
{dede:channelartlist typeid='top'}<li><a href="{dede:field name='typeurl'/}" target="_self">{dede:field name='typename'/}</a><ul class="flyout level2 child{dede:global name='itemindex'/}">{dede:channel type='son' noself='yes'}<li><a href="[field:typelink/]" target="_self">[field:typename/]</a></li>{/dede:channel}</ul></li>{/dede:channelartlist}
{dede:global name='itemindex'/}为在每次调用顶级栏目,自动递增。
更复杂的调用二级栏目的方式,要用dede:php标签,如下例:
<ul><li><a href="{dede:global.cfg_basehost/}">网站首页</a></li>{dede:channelartlist typeid='top'}{dede:php}$thisid = $refobj->fields['id'];$dsql->setquery("select * from `dede_arctype` where reid=".$thisid." order by sortrank");$dsql->execute();$i=0;while($arr = $dsql->getarray()){$i = $i +1;$str = implode(',',$arr);if(!empty($str) && $i==1){ echo '<li><div><dl><dt><img src="/img/item_top.jpg" width="89" height="11"></dt>'; }echo '<dd><a href="/plus/list.php?tid='.$arr['id'].'">'.$arr['typename'].'</a></dd>';}if(!empty($str)) echo '</dl></div>';if(empty($str)){ echo '<li>';}{/dede:php}<a href="{dede:field name='typeurl'/}" class='{dede:field.currentstyle/}'>{dede:field name='typename'/}</a> </li>{/dede:channelartlist}</ul>
这种方式虽然更复杂,但也更灵活。
以上就是织梦怎么调用顶级栏目以及下面的二级栏目的详细内容。