dedecms 栏目列表循环序号、循环+1的调用方法
添加后序号就会自动增加,默认从1开始。
但是有时候我们可能不需要从1开始,比如从2开始,那么就需要这样写:
[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global]
相反,如果想让它从0开始,那就用这个代码:
[field:global name=autoindex runphp="yes"]@me=@me-1;[/field:global]
dedecms织梦频道模板中调用栏目分类并排序:
{dede:channelartlist}
栏目排序:{dede:global runphp='yes' name=itemindex}@me;{/dede:global}
<a href=”{dede:field name='typeurl' /}”>点击进入{dede:field name='typename' /}列表>></a>
{/dede:channelartlist}
织梦 channel 标签调用栏目排序方法:
{dede:channel type='top' row='10'}
栏目排序:[field:global runphp='yes' name=autoindex]@me=@me+1;[/field:global]
[field:typename/]
{/dede:channel}
以上两个调用序号的方法基本上可以完成dedecms模板中的栏目前的排序效果
需要用到每循环一次,变量加一,这是就需要使用到autoindex标签。
代码写法如下:
{dede:arclist titlelen='26' row='10'}
<li><a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a></li>
[field:global name=autoindex runphp="yes"]if(@me%5==0)@me="<br/>";else @me="";[/field:global]
{/dede:arclist}
红色的即为autoindex标签用法。意思是,循环调用文章时,到第五条时输出<br/>,否则输出空。这样我们就实现了第五篇文章下面进行换行。配合css和简单的php等代码使用,达到更多效果。
循环+1的写法:
[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global]
频道页使用时可以换成itemindex标签,原理同autoindex
{dede:global name='itemindex'/}
{dede:global name='itemindex' runphp='yes'}if(@me%5==0)@me="<br/>";else @me="";{/dede:global}
{dede:global name='itemindex' runphp='yes'}@me=@me+1;{/dede:global}
织梦默认的搜索页不支持autoindex标签,需要修改核心文件增加支持:
找到文件:include/arc.searchview.class.php
里面找到代码:$this->dtp2->LoadSource($innertext);
下面加上:
$GLOBALS['autoindex'] = 0;
------------------------------------
if($row = $this->dsql->GetArray("al"))
{
下面加上:
$GLOBALS['autoindex']++;
$ids[$row['id']] = $row['id'];