POST TIME:2018-08-14 15:27
在織夢(DedeCMS)系統(tǒng)中,可以用channelartlist標(biāo)簽進(jìn)行循環(huán)子欄目及其欄目的文檔數(shù)據(jù),這也是織夢(DedeCMS)系統(tǒng)中,唯一一個支持標(biāo)簽嵌套的調(diào)用標(biāo)簽,以DedeV5.6新版舉例,他的基本調(diào)用方法為:
引用<div class="listbox">
{dede:channelartlist}
<dl class="tbox">
<dt><strong><a href="{dede:field name=’typeurl’/}">{dede:field name=’typename’/}</a></strong><span class="more"><a href="{dede:field name=’typeurl’/}">更多…</a></span></dt>
<dd>
<ul class="d1 ico3">
{dede:arclist titlelen=’60′ row=’8′}
<li><span>[field:pubdate function="MyDate('m-d',@me)"/]</span><a href="[field:arcurl /]">[field:title /]</a></li>
{/dede:arclist}
</ul>
</dd>
</dl>
{/dede:channelartlist}
</div>
以上標(biāo)簽來源于DedeCMS V5.6 默認(rèn)首頁模板;
至于該標(biāo)簽的具體含義這里不再一一熬述,我們重點(diǎn)講解在列表頁/內(nèi)容頁的具體使用;
channelartlist標(biāo)簽暫時支持三個參數(shù),分別為:
|
typeid=’0′ 限制上級欄目ID;也可以用top,支持“,”表示多個欄目 row=’20′ 循環(huán)的欄目數(shù)量,默認(rèn)為20; cacheid = ” 標(biāo)簽緩存ID,一般為空 |
很多人,經(jīng)常將上訴標(biāo)簽支持復(fù)制到終極欄目頁或內(nèi)容頁,很遺憾的是不會出現(xiàn)任何調(diào)用結(jié)果。因為這里大家可能受到了官方幫助文檔不足所帶來的遺憾,因為在這個標(biāo)簽中,當(dāng)typeid為空,那么則表示當(dāng)前欄目,但是終極欄目列表和內(nèi)容頁是沒有下級欄目的,所以這里就會出錯!
在終極列表頁或內(nèi)容頁,正確的調(diào)用方法應(yīng)該是以下的:
這里是typied=’top’,這個top值可以換為你想要的上級欄目ID,但絕對是不可以為空的。這個大家一定要注意!
從上面的代碼中,大家可以看到,是可以直接分別用{dede:field name=’typename’/}與{dede:field name=’typeurl’/}來表示欄目名稱與欄目鏈接的,當(dāng)然還有一些其它特殊的變量,這里不防給大家貼出來:
|
{dede:field name=’id’/}與{dede:field name=’typeid’/} 均表示循環(huán)中的欄目ID;
{dede:global name=’itemindex’} 表示循環(huán)遞增變量,從1開始; {dede:global name=’itemparity’} 表示循環(huán)魔法變量,單數(shù)為1,雙數(shù)為2;
|
以上就是可以在channelartlist中直接套用的,特別要注意的是第2個與第三個;擁有這兩個變量,可以輕松制作出各類非常個性的效果,例如欄目的隔行變色等;
關(guān)于這個欄目高亮,在channelartlist.lib.php雖然系統(tǒng)并沒有自帶,但我們可以自行制作,讓當(dāng)前欄目進(jìn)行高亮。
制作方法:
打開channelartlist.lib.php文件,找到如下代碼:
在其下一行加入一下代碼:
引用
| if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){ $pv->Fields['currentstyle'] = ‘ id="pic_focus"’; } else{ $pv->Fields['currentstyle'] = ”; } |
然后,就可以在模板中進(jìn)行使用{dede:field name=’currentstyle’/}進(jìn)行調(diào)用了。
