各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > dedecms

dedecms autoindex的用法

管理员 2016-04-13
dedecms
106

  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~字符串长度减( | )长度个字符。

  这样就把最后的竖线和空格去掉了,不管栏目数目怎么变化,我们得到封装好的字符串,并将其最后的几个字符去掉就行了。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

扫码关注

qrcode

QQ交谈

回顶部