织梦DEDECMS系统中自增函数autoindex和itemindex的区别及实例
织梦DEDECMS系统中autoindex和itemindex的区别
autoindex:一般在循环标签中使用,不可以独立使用
itemindex:可以独立使用
autoindex与itemindex都是中都是用@me来表示计数开始,而类似@me+1则可以指定数字开始,在不同的标签中,他们的起始值是不同的:
[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global]
{dede:global name=itemindex runphp="yes"}@me=@me+1;{/dede:global}
channelartlist 标签下使用 {dede:global name='itemindex' runphp='yes'}@me;{/dede:global} 是从0开始自增1
channelartlist 标签下使用 {dede:global.itemindex/} 默认从1开始
arclist 标签下使用 [field:global.autoindex/] 默认从1开始
channel 标签下使用 [field:global.autoindex/] 默认从0开始
而如果想要改变起始值则按照以下方式调用:
从0开始[field:global name=autoindex runphp="yes"]@me=@me-1;[/field:global]
从1开始[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global]
其中,@me=@me±1就能实现对应的起始值,这里自己根据需要修改即可。
channelartlist实例
{dede:channelartlist notypeid='123,124,146,147'}
<a class="pd2_lmt{dede:global name=itemindex runphp='yes'}@me=(@me==1)?'1':'3';{/dede:global}" onmouseover="showitem2({dede:global name=itemindex runphp='yes'}@me=@me-1;{/dede:global},'pd_lm','h_pd_lm_','pd2_lmt');" href='{dede:field name='typeurl'/}'>
{dede:php}if($refObj->Fields['ispart']){echo $refObj->Fields['typename'];}{/dede:php}
</a>
{/dede:channelartlist}
channel实例
{dede:channel titlelen='32'}
<li [field:global name='autoindex' runphp='yes']if(@me%2==0){@me='class="rr"';}else{@me='';}[/field:global] ><h3><a href='[field:typelink/]'>[field:typename/]</a></h3></li>
{/dede:channel}
在arclist中使用autoindex runphp 时用这种方式:
{dede:arclist titlelen='22' row='4' flag='c' orderby='id'}
<a href="[field:arcurl /]" target="_blank">[field:title /]</a>
[field:global name='autoindex' runphp='yes']if(@me==2){@me="<br />";}else{@me=' ';}[/field:global]{/dede:arclist}
arclist实例
{dede:arclist channelid=17 row=6 orderby=pubdate titlelen=40 addfields='docphoto,docjob,doctec' typeid='123,136,146,155,172,182,202'}
<div id="h_nrr_zj_[field:global.autoindex/]" class="nrr_zjl" [field:global name='autoindex' runphp='yes']if(@me==1){@me="";}else{@me='style="display:none;"';}[/field:global] >
<div><a href="[field:arcurl/]" title="[field:fulltitle/]" target="_blank"><img src="[field:litpic/]" alt="[field:fulltitle/]" /></a></div>
</div>
{/dede:arclist}
list 标签下试用autoindex
{dede:list pagesize='40' orderby='id'}
[field:global name='autoindex' runphp='yes']if(@me%10==0){@me="test";}else{@me='';}[/field:global]
{/dede:list}
扩展用法
起始值加5开始自增计数
[field:global name=autoindex runphp="yes"]@me=@me+5;[/field:global]
如果被2整除则输出竖线否则为空
[field:global name=autoindex runphp="yes"](@me%2==0)? @me="|":@me="";[/field:global]
如果不等于8输出竖线否则为空,即为8的时候不打印竖线
[field:global name=autoindex runphp="yes"](@me!=8)? @me="|":@me="";[/field:global]
列表每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]
第一行样式为class="check",其他行按行数类名字后面id="life_channe1"的数字1实现自增
<li><a href="[field:typeurl/] " [field:global name='autoindex'runphp='yes']if(@me==0){@me='class="check"';}else{@me='id="life_channe'.@me.'" goto="life_channe'.@me.'"';}[/field:global]>[field:typename/]</a></li>
Div中id名字后面的数字从0开始自增,判断如果是第一行则加style="display:none;"属性,其他行为空
<div id="HomeCon2_1_{dede:global name=itemindex runphp='yes'}@me=@me-1;{/dede:global}" class="HomeCon2_1_1" {dede:global name='itemindex' runphp='yes'}@me=(@me==1)?'':'style="display:none;"';{/dede:global} >
对autoindex/itemindex使用自定义函数
先在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; z-index:17">
<div style="FONT-FAMILY: SimSun; COLOR: #fecd2e; FONT-SIZE: 15px; fon-weight: bold"><a style="FONT-FAMILY: SimSun; COLOR: #fecd2e; FONT-SIZE: 15px; fon-weight: bold" href="[field:typeurl/]" target=_blank><strong>[field:typename/]</strong></a></div>
</div>
{/dede:channel}
1.本站主要是为了记录工作、学习中遇到的问题,可能由于本人技术有限,内容难免有纰漏,一切内容仅供参考。
2.本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!
3.本站所有原创作品,包括文字、资料、图片、网页格式,转载时请标注作者与来源。