• 网站认证
  • 教程:6,665|
  • 话题:6,319|
  • 评论:51|
  • 会员:219|
  • 注册
  • 查看作者
  • dedecms织梦tags标签12个字符的限制和调用长度的修改方法

    织梦的强大就在于开源,新手站长可能对开源不是很了解,开源的含义就是说源代码公开,源代码可以说是软件的核心技术,开源意味着核心技术公开,但应注意,原作者仍然拥有该软件的版权。可是仍然有很多默认的弊端不适合当前搜索引擎的优化,最突出的一个问题,就是织梦的TAGS标签长度文字,织梦默认的TAGS标签长度是12个字节,也就是6个汉字,这对于当前的搜索引擎来说是不太友好的,今天我们就来说一说如何修改TAGS标签的长度为我们需要的长度。 第一步:修改数据库中表dede_tagindex和dede_taglist的tag字段属性:varchar(12)修改为varchar(255)这些需要在后台系统-SQL命令行工具之中运行下面的代码:

    ALTERTABLE`dede_tagindex`CHANGE`tag“tag`CHAR(255);

    ALTERTABLE`dede_taglist`CHANGE`tag“tag`VARCHAR(255);

    view source

    代码的目的就是通过织梦封装好的SQL代码修改织梦数据库dede_tagindex和dede_taglist表中的tag字段的值为我们设定的255个字节,也就是124个汉字,大家都知道计算机的英文和汉字占用的字节个数是不一致的。 第二步:修改源码,在include/helpers/archive.helper.php中查找:

    1

    if(isset($tag[12]) ||$tag!=stripslashes($tag))

    修改为:

    1

    if(isset($tag[255]) ||$tag!=stripslashes($tag))

    然后查找:

    1

    if(isset($tag[20]) ||$tag!=stripslashes($tag))

    修改为:

    1

    if(isset($tag[255]) ||$tag!=stripslashes($tag))

    然后我们在发布文章的时候,TAGS标签的长度就会发生变化,毕竟一个TAGS标签的长度不会超过一百多个汉字,所以大家可以随意的添加TAGS标签,但是也有一个问题暴露出来,有些现实TAGS标签的地方宽度不够,调用出来的TAGS标签会撑破div标签的设置,所以我们需要控制调用出来的TAGS标签的长度,这时候就需要修改include/taglib文件夹下面的tag.lib.php文件了,在里面查找:

    $row['tag']=htmlspecialchars($row['tag']);

    修改为:

    $row['tag']=cn_substr($row['tag'],$titlelen);

    上面的cn_substr函数是织梦封装好的字符串截取函数,也就是说按照设定的titlelen的值来截取输出的TAGS标签长度,所以我们需要在织梦默认的TAGS标签调用代码之中添加titlelen的值,代码如下:

    {dede:tagrow='10'getall='1'sort='month'titlelen="10"}
    <li><ahref='[field:link/]'>[field:tag/]</a></li>
    {/dede:tag}

    也就是说对调用出来的TAGS标签的长度为5个汉字。在这里需要多说一下,有些时候我们调用的TAGS标签并不是完全的汉字,可能为","或者什么分隔符号,占用一定的字符,而织梦的TAGS标签分隔符默认不支持中文,所以大家要有心理准备,调用的TAGS标签长度虽然得到控制,显示上可能不是很理想。

  • 0
  • 0
  • 0
  • 1.1k
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 单栏布局 侧栏位置: