POST TIME:2017-11-13 00:22
dedecms網頁制作過程中,發(fā)現autoindex用處很大,而且用的很巧妙。在這里簡單談幾種用途。希望會對大家有所幫助。
默認模板的幻燈里面大家會看到[field:global name=autoindex/]這個代碼,先來試一下
{dede:arclist row='5' }
linkarr[[field:global name=autoindex/]] = "[field:arcurl/]";
picarr[[field:global name=autoindex/]] = "[field:litpic/]";
textarr[[field:global name=autoindex/]] = "[field:title/]";
{/dede:arclist}
看一下生成的html代碼不難發(fā)現,[field:global name=autoindex/]是從1開始的,往后依次增加1,row="5"的話,最后一個就是5.
知道了autoindex的這個屬性,我們就可以做一些簡單的事了。
看下面這段代碼
原創(chuàng)日記 |愛情美文 |情感故事 |心情隨筆 |親情文章 |網站建設 |唯美圖文
總共有七個專題,除了第七個,每個專題后都有一個豎線,我們直接用標簽循環(huán)調用試一下
{dede:channel typeid='**' type='son'}
[field:typename/] |
{/channel}
這樣讀取出來的樣式是
原創(chuàng)日記 |愛情美文 |情感故事 |心情隨筆 |親情文章 |網站建設 |唯美圖文|
很明顯,最后一個也多了一個豎線,明顯不是我們想要的結果
但是dedecms真的很強大,我們可以使用自定義編程
{dede:channel typeid='**' type='son'}
[field:typename/][field:global name=autoindex runphp="yes"](@me!=7)? @me=" | ":@me="";[/field:global]
{/channel}
這樣一來,最后的豎線就被去掉了。
可是有一點不足:目前是七個欄目,萬一哪天欄目數改變了,我們還得修改代碼啊!
下面我們來說一種較好的方法,通過修改標簽,不管欄目怎么變化都沒關系,那就是截取
$linkList=substr($linkList,0,strlen($linkList)-26);
注:linkList是自定義的變量,保存著返回的字符串,我們只取整個字符串的0~字符串長度減( | )長度個字符。
這樣就把最后的豎線和空格去掉了,不管欄目數目怎么變化,我們得到封裝好的字符串,并將其最后的幾個字符去掉就行了。
上一篇:dede 調用自定義字段方法