先转载别人的资料一下,如下:
autoindex和itemindex使用方法是一样的。但是{dede:channelartlist}必须使用itemindex
autoindex用法实例
runphp型
1
[field:global name=autoindex runphp="yes"](@me!=7)? @me=" | ":@me="";[/field:global]
数字序号型
1
[field:global name=autoindex /]
函数型
1
[field:global name=autoindex function="函数名(@me)" /]
这个是field调用,就是在{}这样的标签里用的。还有就是单独的{dede:调用
1
{dede:global name=autoindex /}
{dede:global name='itemindex'} 表示循环递增变量,从1开始;
{dede:global name='itemparity'} 表示循环魔法变量,单数为1,双数为2;
{dede:channelArtlist typeid='1,2,3,4,5,6,7,8'}
{dede:type}
<li class="" οnmοuseοver="showMenu('c[field:global name=itemindex /]',1); this.className='sean';" οnmοuseοut="showMenu('c[field:global name=itemindex /]',0); this.className='';">
<a href="[field:typelink /]" class="cat_a">[field:typename /]</a>
<div style="display: none;" id="c[field:global name=itemindex /]" class="children">
{/dede:type}
<div class="conter clearfix">
{dede:channel type='son'}
<a href="[field:typelink /]" class="ChildrenLi">[field:typename /]</a>
{/dede:channel}
</div>
</div>
</li>
{/dede:channelArtlist}
里面那个js方法showMenu中需要C1 C2....那样的,所以需要用到itemindex 来递增
织梦默认的搜索页不支持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'];
如果要从2开始
[field:global runphp='yes' name=autoindex]@me=@me+1;[/field:global]
{dede:global.itemindex runphp='yes'}@me=@me+1;{/dede:global.itemindex}
/
图集 序列号
修改 include\taglib\channel\img.lib.php
找到$fields['imgsrctrue'] = $fields['imgsrc'];
在下面添加
$fields['photoid'] = $GLOBAL['photoid']+1;
在模板中调用[field:photoid/]
/
{dede:productimagelist} 递增
打开include/taglib/productimagelist.lib.php文件,找到:
$ctp->LoadSource($innerText);在其后面另起一行加入
$GLOBALS['autoindex'] = 0;找到:
$revalue .= $ctp->GetResult();在其后面另起一行加入
$GLOBALS['autoindex']++;这里的改动就算完了,接下来是内容页里调用:
[field:global name=autoindex/]
///dede:datalist///
修改include\datalistcp.class.php
//获取当前页数据列表
function GetArcList($atts,$refObj='',$fields=array())
在$i++;下面加上$arr['itemid'] = $i; 如下图
//获取当前页数据列表
function GetArcList($atts,$refObj='',$fields=array())
{
$rsArray = array();
$t1 = Exectime();
if(!$this->isQuery) $this->dsql->Execute('dlist',$this->sourceSql);
$i = 0;
while($arr=$this->dsql->GetArray('dlist'))
{
$i++;
$arr['itemid'] = $i;
$rsArray[$i] = $this->XSSClean($arr);
if($i >= $this->pageSize)
{
break;
}
}
$this->dsql->FreeResult('dlist');
$this->queryTime = (Exectime() - $t1);
return $rsArray;
}
在模板那边调用用{dede:field.itemid/}