DeDeCMS自动编号标签[field:global.autoindex/] 不指定

郝聪 , 2015/12/20 18:05 , 建站优化 , 评论(2) , 阅读(13954) , Via 本站原创 | |


更多



在DeDeCMS系统模板标签中,存在一个[field:global.autoindex/]标签,它需要嵌套在{dede:arclist/}标签里使用,用来实现自动编号。这个标签可以让arclist每生成一行文章就自动累加1,也就是说可以用来做编号(序号),在网站应用中,很多的时候我们需要在文章标题前加上一个编号(序号),如阅读排行,下载排行等等,例如:

1、文章标题1
2、文章标题2
3、文章标题3
…...

DeDeCMS如何在文章标题前自动加上编号?

 

在{dede:arclist}标签之间加入[field:global name=autoindex/]即可显示编号

参考代码实例:

XML/HTML代码
        
  1. <div class="box">  
  2.     
  3.   <h1>阅读排行</h1>  
  4.     
  5.   <ul>  
  6.     
  7.     {dede:arclist row=10 channelid=1 orderby=hot titlelen=100}  
  8.     
  9.     <li><b>[field:global name=autoindex/]</b><a href="[field:arcurl/]">[field:title/]</a></li>  
  10.     
  11.     {/dede:arclist}  
  12.     
  13.   </ul>  
  14.     
  15. </div>  

在DeDeCMS官方网站的页面模板中,显示幻灯片的一短js代码中,其中就应用了[field:global.autoindex/]标签。

但遗憾的是:只有{dede:arclist/}标签支持这个自动累加的功能。

那么,如何把这个自动增1的变量扩展应用到其他标签中呢?比如:我们想在{dede:sql/}标签中使用[field:global.autoindex/]标签。

那我们可以修改sql.lib.php这个文件(文件路径为官方程序目录\include\taglib)。打开后我们找到第34行

XML/HTML代码
        
  1. $ctp->LoadSource($Innertext);  

在下面加上以下一段代码:

XML/HTML代码
        
  1. $GLOBALS['autoindex'] = 0;  

这里的目的是定义一个全局变量autoindex,并赋值为0,接下来修改下面的代码:

XML/HTML代码
        
  1. while($row = $dsql->GetArray($thisrs))  
  2.     
  3. {  
  4.     
  5. $sqlCt++;  
  6.     
  7. foreach($ctp->CTags as $tagid=>$ctag){  
  8.     
  9. if(!empty($row[$ctag->GetName()])){ $ctp->Assign($tagid,$row[$ctag->GetName()]); }  
  10.     
  11. }  
  12.     
  13. $GLOBALS['autoindex']++; //每循环一次加上一个1然后解析出来  
  14.     
  15. $revalue .= $ctp->GetResult();  
  16.     
  17. }  

含义很清楚,每循环一次,就让变量autoindex累加1。

如上方法,即可让[field:global.autoindex/]标签在{dede:sql/}中使用了。

应用实例:

XML/HTML代码
        
  1. {dede:sql sql=’‘}  
  2.     
  3. [field:global.autoindex/]-[field:title/]  
  4.     
  5. {/dede:sql}  

使用方法同dedecms默认模板完全一样。

 å¦å¤–收集了一个让默认从0开始累积的方法:
[field:global name=autoindex runphp="yes"]@me=@me-1;[/field:global]

默认从2开始累积的方法:
[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global]

 

相关日志
DeDeCMS自定义表单实现字段默认为必填项
DeDeCMS自定义表单提交数据时加入验证码功能
DeDeCMS调用自定义表单内容以及实现分页功能(Datalist运用实例)
DeDeCMS的channel标签支持limit(属性)功能
DeDeCMS获取上级栏目ID及顶级栏目ID
让DeDeCMS的channel标签支持调用栏目描述description及关键词keywords
DeDeCMS调用栏目排序编号(自动递增数字)
DeDeCMS安全设置:更改data目录命名
DedeCMS修改数据库表前缀"_dede"的方法
DeDeCMS调用友情链接的标签
个人博客 Email
2016/01/11 23:43
过来看看、关注一下
郑州SEO优化 Email
2016/01/03 11:37
这个确实需要关注一下的
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]