织梦DedeCMS网页制作过程中,发现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代码不难发现,[field:global name=autoindex/]是从1开始的,往后依次增加1,row=”5″的话,最后一个就是5.
知道了autoindex的这个属性,就可以做一些简单的事了。
看下面这段代码
原创日记|爱情美文|情感故事|心情随笔|亲情文章|网站建设|唯美图文
总共有七个专题,除了第七个,每个专题后都有一个竖线,直接用标签循环调用试一下
{dede:channel typeid=’**’ type=’son’}
[field:typename/] |
{/channel}
这样读取出来的样式是
原创日记 |爱情美文|情感故事|心情随笔|亲情文章|网站建设|唯美图文|
很明显,最后一个也多了一个竖线,明显不是想要的结果
但是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~字符串长度减( | )长度个字符。
这样就把最后的竖线和空格去掉了,不管栏目数目怎么变化,得到封装好的字符串,并将其最后的几个字符去掉就行了。