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