dedecms栏目循环时在栏目前加上序号

在制作dede模板中的导航栏的时候,通常会需要用到如下样式: * a href=# class=dh1/a * a href=# cl…

 

在制作dede模板中的导航栏的时候,通常会需要用到如下样式:

    * <a href="#" class="dh1"></a>
    * <a href="#" class="dh2"></a>
    * <a href="#" class="dh3"></a>
    * <a href="#" class="dh4"></a>
    * <a href="#" class="dh5"></a>

这样的序列在标签{dede:channel}中是无法调用的,所以必须修改标签,

默认的{dede:channel}调用方法:

   1. {dede:channel type=’top’ row=’9′} 
   2.      <a href="[field:typeurl/]" [field:rel/] title="[field:typename/]"
   3. class="dh1">[field:typename/]</a> 
   4. {/dede:channel}

通过修改,改成下面的样式:

   1. {dede:channel type=’top’ row=’9′ line=’2′} 
   2.      <a href="[field:typeurl/]" title="[field:typename/]"
   3. class="dh[field:line/]"
   4. [field:rel/]></a> 
   5. {/dede:channel}

修改步骤如下:

一、修改文件include/taglib/channel.lib.php,把

   1. $attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|";

修改成

   1. $attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,
   2. cacheid|,line|1"; 
   3. //|后面的1,代表初始值

第二、在第9行附近追加如下代码:

   1. //默认属性里设置的行数 
   2. 
   3. $default_line = $ctag->CAttribute->Items["line"];

第三、把下面代码

   1. $row['sonids'] = $row['rel'] = ”;

修改成

   1. $row['sonids'] = $row['rel'] = ”; 
   2. $row['line'] = $default_line+$i;

最后,特别要注意的是,如果要使用currentstyle样式,即当前栏目样式,则必修将刚才的"line"字段,追加到下面代码后面

   1. $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr); 
   2. $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr); 
   3. $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); 
   4. $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); 
   5. $linkOkstr = str_replace("~line~",$row['line'],$linkOkstr);

好了,以上就是如何给织梦DEDECMS栏目导航{dede:channel}标签增加序号属性,希望对大家有帮助。

原文链接:http://www.it2012.com/article/201105/374.html

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

织梦生成静态html页面时报错:Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in /wwwroot/include/helpers/string.helper.php on line 121 字面意思理解是内存不足,很多朋友可能认为是内存不足问题,实际上不
有时候我们的文档特别的多,另外也是为防止网站被采集,全站文章被索引,所以要控制下织梦dedecms列表页面数量。 这样的话我们要具体怎么操作呢? 1、首先建立一个全局变量: 在系统-站点设置中添加一个新的变量,变量名称:cfg_listmaxpage,变量说明:栏目
dedecms织梦的全局变量可以在/include/common.inc.php文件中看到,此文件内定义了大量的全局变量,详细自己去看看。 如果我们要实用dedeCMS织梦全局变量该如何调用: 第一种单独调用: {dede:global.变量名 /},注意闭合,否则会以文本形式输出。这种一般适用
织梦DEDECMS 栏目文章文章命名规则修改, 每次添加栏目的时候 都要改文章命名规则,十分麻烦, 修改下面这个地方就可以一改永亦,织梦模板网为您解答 找到\include\common.inc.php 搜索 $cfg_df_namerule 把: $cfg_df_namerule = {typedir}/{Y}/{M}{D}/{aid
当我们通过{dede:arclist keyword=关键词}来调用文章列表时,你会发现只在其中一个栏目里生效,在其他栏目,仍然显示上一次的关键词。 原因是由于arclist的缓存导致的。 只需修改/include/taglib/arclist.lib.php文件,大概在384行: $taghash = md5(seriali
我们在使用织梦dedecms数据库内容替换时候,经常遇到 安全码 显示的无法识别或者不清晰,这个安全码的位置是在核心 - 批量维护 - 数据库内容替换,如果识别不了,这个页面还没有改变验证码的地方,只能重新刷新页面,如果我们不想要这个安全码的话,要怎么操