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

在探索dedecms autoindex循环时,有哪些常见的使用方式?
dedecms autoindex 循环中,常见的用法包括:列表页、内容页和自定义标签。

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

基本用法

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 class='line'>";
     if ((@me % 5) == 0) @me = $c;
     else @me = $a;
     [/field:global]

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

     [field:global runphp='yes' name=autoindex]
     $a="<div class='box'>";
     $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' class='pdv_class' title='' style="width:71px;height:20px;top:[field:global.autoindex function='MyPosition(@me)'/]px;left:136px; zindex:17">
     <div style="FONTFAMILY: SimSun; COLOR: #fecd2e; FONTSIZE: 15px; fonweight: bold"><a style="FONTFAMILY: SimSun; COLOR: #fecd2e; FONTSIZE: 15px; fonweight: bold" 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 class='on'></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循环的一些常见用法,您可以根据实际需求选择合适的循环来展示所需的信息。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1221532.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-18 04:39
下一篇 2024-10-18 04:52

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入