当前位置:首页 > 行业动态 > 正文

在探索dedecms autoindex循环时,有哪些常见的使用方式?

dedecms autoindex 循环中,常见的用法包括:列表页、内容页和自定义标签。

在DedeCMS(织梦内容管理系统)中,autoindex 和itemindex 是两个常用的自增函数,它们在模板标签循环中起到了重要作用,以下是几种常见的用法:

在探索dedecms autoindex循环时,有哪些常见的使用方式?  第1张

基本用法

1、默认起始值

arclist标签下:使用[field:global.autoindex/] 时,默认从1开始。

channel标签下:使用[field:global.autoindex/] 时,默认从0开始。

channelartlist标签下:使用{dede:global.itemindex/} 时,默认从1开始。

2、自定义起始值

从0开始:可以在[field:global name=autoindex runphp="yes"] 后添加@me=@me1;。

从1开始:可以在[field:global name=autoindex runphp="yes"] 后添加@me=@me+1;。

扩展用法

1、改变起始值并增加步长

起始值加5开始自增计数:[field:global name=autoindex runphp="yes"]@me=@me+5;[/field:global]。

2、条件判断输出

被2整除则输出竖线,否则为空:[field:global name=autoindex runphp="yes"](@me%2==0)? @me="|":@me="";[/field:global]。

不等于8输出竖线,否则为空:[field:global name=autoindex runphp="yes"](@me!=8)? @me="|":@me="";[/field:global]。

3、列表样式控制

每5行有带划线

     [field:global runphp='yes' name=autoindex]
     $a="<li>";
     $c="<li >";
     if ((@me % 5) == 0) @me = $c;
     else @me = $a;
     [/field:global]

第5行和第10行加广告,其他行为空

     [field:global runphp='yes' name=autoindex]
     $a="<div >";
     $b="广告1";
     $c="</div>";
     $d="广告2";
     $e="";
     if (@me == 5) @me = $a.$b.$c;
     else if (@me == 10) @me = $a.$d.$c;
     else @me = $e;
     [/field:global]

4、自定义函数

使用自定义函数

先在include/extend.fun.php 里添加自定义函数:

     function MyPosition($p){
         $positionArr=array(275,330,380,435,495,547);
         return $positionArr[$p];
     }

模版中调用方法为:

     {dede:channel type='son' typeid='13' row='6' noself='yes'}
     <!侧栏菜单>
     <div id='pdv_16795'  title='' MyPosition(@me)'/]px;left:136px; zindex:17">
     <div ><a  href="[field:typeurl/]"target=_blank><strong>[field:typename/]</strong></a></div>
     </div>
     {/dede:channel}

5、搜索页支持

修改核心文件增加支持:找到文件include/arc.searchview.class,在适当位置添加代码以支持autoindex

相关问答FAQs

1、如何在DedeCMS中使用autoindex实现文章编号?

解答:在DedeCMS中使用autoindex 标签可以实现文章编号,在{dede:arclist row='10' titlelen='26' typeid='1' channelid='1'} 标签内,可以使用[field:global name=autoindex runphp='yes'][/field:global] 来实现文章编号,默认从1开始,如果需要从0开始,可以使用[field:global name=autoindex runphp='yes']@me=@me1;[/field:global]。

2、如何在DedeCMS中根据列表循环次数进行条件判断?

解答:在DedeCMS中,可以根据列表循环次数进行条件判断,可以在{dede:arclist typeid='3' row='8'} 标签内使用[field:global.autoindex/] 来获取当前循环次数,然后进行条件判断,当循环到第2条记录时,可以增加一个<li ></li> 标签:{dede:arclist typeid='3' row='8'}[field:global.autoindex/]{/dede:arclist}。

循环名称 用途 代码示例
{dede:arclist} 获取指定条件的文章列表 {dede:arclist limit=5 titlelen=20}
{dede:channelartlist} 获取指定栏目的文章列表 {dede:channelartlist limit=10 parentid='1'}
{dede:channel} 获取指定栏目的信息 {dede:channel id='1'}
{dede:sql} 执行SQL查询语句 {dede:sql sql='SELECT * FROM table WHERE id > 0'}
{dede:arctype} 获取指定文章类型的分类信息 {dede:arctype id='1'}
{dede:downfile} 获取下载文件信息 {dede:downfile id='1'}
{dede:links} 获取友情链接信息 {dede:links limit=10}
{dede:ad} 获取广告信息 {dede:ad id='1'}
{dede:arcurl} 获取文章的URL地址 {dede:arcurl aid='1'}
{dede:field} 获取文章的字段信息 {dede:field name='title' /}

是DedeCMS中autoindex循环的一些常见用法,您可以根据实际需求选择合适的循环来展示所需的信息。

0