标题:DeDeCMS自动编号标签[field:global.autoindex/] 出处:郝聪SEO博客 时间:Sun, 20 Dec 2015 18:05:09 +0000 作者:郝聪 地址:http://www.bloghuman.com/dedecms-global-autoindex/ 内容: 在DeDeCMS系统模板标签中,存在一个[field:global.autoindex/]标签,它需要嵌套在{dede:arclist/}标签里使用,用来实现自动编号。这个标签可以让arclist每生成一行文章就自动累加1,也就是说可以用来做编号(序号),在网站应用中,很多的时候我们需要在文章标题前加上一个编号(序号),如阅读排行,下载排行等等,例如: 1、文章标题12、文章标题23、文章标题3…... DeDeCMS如何在文章标题前自动加上编号? 在{dede:arclist}标签之间加入[field:global name=autoindex/]即可显示编号 参考代码实例: XML/HTML代码

阅读排行

在DeDeCMS官方网站的页面模板中,显示幻灯片的一短js代码中,其中就应用了[field:global.autoindex/]标签。 但遗憾的是:只有{dede:arclist/}标签支持这个自动累加的功能。 那么,如何把这个自动增1的变量扩展应用到其他标签中呢?比如:我们想在{dede:sql/}标签中使用[field:global.autoindex/]标签。 那我们可以修改sql.lib.php这个文件(文件路径为官方程序目录\include\taglib)。打开后我们找到第34è¡Œ XML/HTML代码 $ctp->LoadSource($Innertext); 在下面加上以下一段代码: XML/HTML代码 $GLOBALS['autoindex'] = 0; 这里的目的是定义一个全局变量autoindex,并赋值为0,接下来修改下面的代码: XML/HTML代码 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(); } 含义很清楚,每循环一次,就让变量autoindex累加1。 如上方法,即可让[field:global.autoindex/]标签在{dede:sql/}中使用了。 应用实例: XML/HTML代码 {dede:sql sql=’‘} [field:global.autoindex/]-[field:title/] {/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] Generated by Bo-blog 2.1.1 Release