进入管理中心 亿企生意通 资源导航 微信大号推广 固定广告位交易 设为首页|加入收藏
当前位置:亿企联盟资讯 > 建站技术 > dedecms教程

织梦标签 [field:global.autoindex/]的使用

出处:本站原创   发布时间:2018-11-03 09:27:06    您是第0位浏览者

  在织梦的{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/]

  {/dede:sql}

  itemindex在channelarclist中的使用类似于autoindex

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

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

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

  arclist 从0开始 [field:global name=autoindex runphp="yes"]@me=@me-1;[/field:global]

  channel 从1开始 [field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global][field:typename/]

  channelartlist 从0开始 {dede:global name=itemindex runphp='yes'}@me=@me-1;{/dede:global}

  案例:

  1.如果要实现排行榜,前三名的样式不一样

  [field:global runphp='yes' name=autoindex]

  $a=""; $b=""; $c=""; if (@me > 3) @me = $c.@me.$b; else @me = $a.@me.$b;

  [/field:global]

  如果样式 都是不同的 还可以这样定义

  [field:global runphp='yes' name=autoindex] $a=""; $b=""; $c=""; if (@me > 3) @me = $c.@me.$b; else @me = $a.@me.$b; [/field:global]


此评论不代表本站观点大家说

0.0986s