织梦TAGS标签12个字符的限制和调用长度的修改方法
织梦
的强大就在于开源,新手站长可能对开源不是很了解,开源的含义就是说源代码公开,源代码可以说是软件的核心技术,开源意味着核心技术公开,但应注意,原作者仍然拥有该软件的版权。可是仍然有很多默认的弊端不适合当前搜索引擎的优化,最突出的一个问题,就是织梦的TAGS标签的长度文字,织梦默认的TAGS标签长度是12个字节,也就是6个汉字,这对于当前的搜索引擎来说是不太友好的,今天我们就来说一说如何修改TAGS标签的长度为我们需要的长度。 第一步:修改数据库中表dede_tagindex和dede_taglist的tag字段属性:varchar(12)修改为varchar(255)这些需要在后台系统-SQL命令行工具之中运行下面的代码: view source print?1
ALTER TABLE `dede_tagindex` CHANGE `tag` `tag` CHAR( 255 ) ;
2
ALTER TABLE `dede_taglist` CHANGE `tag` `tag` VARCHAR( 255 ) ;
代码的目的就是通过织梦封装好的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文件了,在里面查找:
1
$row
[
'tag'
] = htmlspecialchars(
$row
[
'tag'
]);
修改为:
1
$row
[
'tag'
] = cn_substr(
$row
[
'tag'
],
$titlelen
);
上面的cn_substr函数是织梦封装好的字符串截取函数,也就是说按照设定的titlelen的值来截取输出的TAGS标签长度,所以我们需要在织梦默认的TAGS标签调用代码之中添加titlelen的值,代码如下:
1
{dede:tag row=
'10'
getall=
'1'
sort=
'month'
titlelen=
"10"
}
2
<li><a href=
'[field:link/]'
>[field:tag /]</a></li>
3
{/dede:tag}
也就是说对调用出来的TAGS标签的长度为5个汉字。在这里需要多说一下,有些时候我们调用的TAGS标签并不是完全的汉字,可能为","或者什么分隔符号,占用一定的字符,而织梦的TAGS标签分隔符默认不支持中文,所以大家要有心理准备,调用的TAGS标签长度虽然得到控制,显示上可能不是很理想。