在DedeCMS(织梦内容管理系统)中,autoindex
和itemindex
是两个常用的自增函数,它们在模板标签循环中起到了重要作用,以下是几种常见的用法:
基本用法
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
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复