dedecms织梦tags标签12个字符的限制和调用长度的修改方法

   2024-04-01 02:39:56  
(此图片来源于网络,如有侵权,请联系删除! ) 织梦的强大就在于开源,新手站长可能对开源不是很了解,开源的含义就是说源代码公开,源代码可以说是软件的核心技术,开源意味着核心技术公开,但应注意,原作者仍然拥有该软件的版权。可是仍然有很多默认的弊端不适合当前搜索引擎的优化,最突出的一个问题,就是织梦的TAGS标签的长度文字...

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中查找:

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

修改为:

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

然后查找:

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

修改为:

1if(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标签长度虽然得到控制,显示上可能不是很理想。



声明:本文系互联网搜索百度而收集整理,不以盈利性为目的,文字、图文资料源于互联网且共享于互联网。
如有侵权,请联系 hzy98999#qq.com (#改@) 删除。