织梦dedecms模板标签数字递增,数字自动循环递增


avatar
pcwnas 2023-04-21 262

原文来自:https://www.zixuephp.com

织梦dedecms模板标签数字递增,数字自动循环递增autoindex

织梦dedecms模板制作时,有时需要每循环一次,变量自动加一或者是数字循环递增加1并输出相应的数字,这是就需要使用到autoindex标签,代码写法如下:

  1. {dede:arclisttitlelen='26'row='10'}
  2. <li><atitle="[field:titlefunction='htmlspecialchars(@me)'/]"href="[field:arcurl/]">[field:title/]</a></li>
  3. [field:globalname=autoindexrunphp="yes"]if(@me%5==0)@me="<br/>";else@me="";[/field:global]
  4. {/dede:arclist}

上面的代码即为autoindex标签用法,意思是,循环调用文章时,到第五条时输出,否则输出空,这样我们就实现了第五篇文章下面进行换行.

配合css和简单的php等代码使用,达到更多效果.

循环+1的写法:

[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global]

频道页使用时可以换成itemindex标签,原理同autoindex:

  1. {dede:globalname='itemindex'/}
  2. {dede:globalname='itemindex'runphp='yes'}if(@me%5==0)@me="
  3. ";else@me="";{/dede:global}
  4. {dede:globalname='itemindex'runphp='yes'}@me=@me+1;{/dede:global}

织梦默认的搜索页不支持autoindex标签,需要修改核心文件增加支持,找到文件:include/arc.searchview.class.php

里面找到代码:$this->dtp2->LoadSource($innertext);下面加上:

  1. $GLOBALS['autoindex']=0;
  2. ————————————
  3. if($row=$this->dsql->GetArray("al"))
  4. {
  5. //下面加上:
  6. $GLOBALS['autoindex']++;
  7. $ids[$row['id']]=$row['id'];