# dedecms列表arclist如何实现自增编号

*Published:* 2023-09-19
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年9月23日，已超过 180天没有更新



dedecms列表arclist的自增编号，基本语法为：

```
[field:global.autoindex/]
```

具体为：

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

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

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

可加上判断语句：

```
[field:global runphp='yes' name=autoindex] 
if (@me < 4) @me = "<em>".@me."</em>"; 
else @me = @me; 
[/field:global]
```

在列表中的具体应用为：

```
 <ul> 
{dede:arclist row='10' titlelen='250' keyword='~keywords~'} 
<li> 
<p>[field:global runphp='yes' name=autoindex] 
if (@me < 4) @me = "<em>".@me."</em>"; 
else @me = @me; 
[/field:global]<a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:array runphp='yes'] if(@me['shorttitle']=='') @me=@me['title']; else @me=@me['shorttitle']; [/field:array]</a></p> 
</li> 
{/dede:arclist} 
</ul>
```

**\[field:global.autoindex/\]的实际应用：**

如果想让他从0开始自增的方法  
\[field:autoindex runphp='yes'\]@me=$GLOBALS\['autoindex'\]-1;\[/field:autoindex\]，这里的-1是重点，如果想从2开始自增就是+1以此类推

这个标签默认在sql标签中是不可以使用的，如果希望在sql语句的标签中加入，可以这样做。比如我们想修在{dede:sql/}标签中使用

首先找到 /includ/taglib文件夹下的sql.lib.php文件

打开后我们找到第34行，也就是代码 ctp−&gt;LoadSource(Innertext); 处，

在下面加上以下一段代码：GLOBALS\[′autoindex′\]=0;这段代码就是定义一个全局变量，并赋值为0，接下来我们只需要将下面代码进行下修改：

```
while(row = dsql−>GetArray(thisrs))
{
sqlCt++;foreach(ctp->CTags as tagid=>ctag){
if(!empty(row[ctag->GetName()])){ ctp−>Assign(tagid,row[ctag->GetName()]); }
}
GLOBALS[′autoindex′]++;//每循环一次加上一个1然后解析出来revalue .= $ctp->GetResult();
}
```

这样一来，这个\[field:global.autoindex/\]标签就可以在那个{dede:sql/}中使用了，我们举个例子：

```
{dede:sql sql='select * from [url=mailto:dede_archives]dede_archives'[/url]}
[field:global.autoindex/]-[field:title/]</br>
{/dede:sql}
```

**channel标签的数字递增调用方法：**

在include/taglib/channel.lib.php 第140行之后加一句

```
$linkOkstr = str_replace("~autoindex~",$GLOBALS['autoindex'],$linkOkstr);
```

下面是例句：

```
{dede:channel type='top' currentstyle="<li id='taba~autoindex~' class='top1'><a href='~typelink~'>~typename~</a></li>" }
<li id='taba[field:global.autoindex/]'><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
```

这样dede:channel 标签就完美支持autoindex 这个数字排序标签了。