找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 193|回复: 0

[cms教程] dedecms autoindex的用法

[复制链接]

该用户从未签到

发表于 2020-9-15 09:54:42 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
文章介绍
         
          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~字符串长度减( | )长度个字符。
         
          这样就把最后的竖线和空格去掉了,不管栏目数目怎么变化,我们得到封装好的字符串,并将其最后的几个字符去掉就行了。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-26 07:42

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表