織夢怎麼呼叫頂級欄位以及下面的二級欄位?
織夢呼叫頂級欄位以及下面的二級欄位
推薦學習:織夢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>
這種方式雖然比較複雜,但也比較靈活。
以上是織夢怎麼呼叫頂級欄位以及下面的二級欄目的詳細內容。更多資訊請關注PHP中文網其他相關文章!