织梦调用顶级栏目以及下面的二级栏目
有些时候需要调用顶级栏目以及下面的二级栏目,例如再做下拉菜单时。最简单的调用二级栏目的办法:
01 | {dede:channelartlist typeid= 'top' } |
03 | <li><a href= "{dede:field name='typeurl'/}" target= "_self" >{dede:field name= 'typename' /}</a> |
07 | {dede:channel type = 'son' noself= 'yes' } |
09 | <li><a href= "[field:typelink/]" target= "_self" >[field:typename/]</a></li> |
|
有些时候需要做样式时,需要为dede:channelartlist 里的某个标签加上不同的css,例如下面的例子:
01 | {dede:channelartlist typeid= 'top' } |
03 | <li><a href= "{dede:field name='typeurl'/}" target= "_self" >{dede:field name= 'typename' /}</a> |
05 | <ul class= "flyout level2 child{dede:global name='itemindex'/}" > |
07 | {dede:channel type = 'son' noself= 'yes' } |
09 | <li><a href= "[field:typelink/]" target= "_self" >[field:typename/]</a></li> |
|
{dede:global name=’itemindex’/}为在每次调用顶级栏目,自动递增。
更复杂的调用二级栏目的方式,要用dede:php标签,如下例:
查看源码打印代码帮助
03 | <li><a href= "{dede:global.cfg_basehost/}" >网站首页</a></li> |
05 | {dede:channelartlist typeid= 'top' } |
09 | $thisid = $refObj->Fields[ 'id' ]; |
11 | $dsql->SetQuery( "Select * from `dede_arctype` where reid=" .$thisid. " ORDER BY sortrank" ); |
17 | while ($arr = $dsql->getArray()){ |
21 | $str = implode( ',' ,$arr); |
23 | if (!empty($str) && $i==1){ |
25 | echo '<li><div><dl><dt><img src="/img/item_top.jpg" width="89" height="11"></dt>' ; |
29 | echo '<dd><a href="/plus/list.php?tid=' .$arr[ 'id' ]. '">' .$arr[ 'typename' ]. '</a></dd>' ; |
33 | if (!empty($str)) echo '</dl></div>' ; |
43 | <a href= "{dede:field name='typeurl'/}" class= '{dede:field.currentstyle/}' >{dede:field name= 'typename' /}</a> |
|
这种方式虽然更复杂,但也更灵活。