Dedecms 模板中心

您现在的位置: 首页 > 教程文档 > 织梦技巧 >

织梦dedecms自增标签field:global.autoindex/使用方法

来源:未知 发布时间:2017-12-06热度:
在织梦模板的{dede:arclist/}的标签中,有一个非常有用的, [field:global.autoindex/] ,这个标签是一个自增长标签,他的值是从1开始,跟着你的列表自动自增,在我们给网站加入一些效果时候会非常有用。 这里再介绍一下,如果想让他从0开始自增的方法 [fiel...

织梦模板的{dede:arclist/}的标签中,有一个非常有用的,[field:global.autoindex/],这个标签是一个自增长标签,他的值是从1开始,跟着你的列表自动自增,在我们给网站加入一些效果时候会非常有用。

这里再介绍一下,如果想让他从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->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}
 

    责任编辑:好织梦