在使用DedeCMS发布文章的时候,填写完Tag标签后,在标签页预览有时会出现下图这种情况:
本来是完整的一个标签名字,被系统生生截断,余斗开始以为是自己输入的问题,可是重新编辑之后仍然会被截断。查询相关介绍之后,余斗才知道,原来DedeCMS默认定义Tag标签为12个字节,超过12个字节便会截断或无法使用。在实际应用的时候,我们会发现这个定义十分不人性化,以中文为例,gbk编码的一个汉字两个字节,12个字节就是6个汉字,显然不够用,更别提utf-8编码的汉字一个字相当于3个字节,总共才4个汉字。
那么一定要修改,余斗给出解决方案(修改前请备份数据库与文件):
一、修改数据库表
打开网站所在的数据库,分别找到dede_tagindex 和dede_taglist两个数据表;
点击表的名称,然后再点击“结构”标签,就会显示出该表所有的字段;
找到其中的tag字段,然后再点其后面的“修改”,在弹出窗口中将varchar(12)修改为varchar(240)即可(240这个数字可以根据自己情况自行修改);
两个数据表的修改方法一样,修改后的表的结构为:
二、修改Tag标签控制函数
打开/include/helpers/archive.helper.php文件(DedeCMS5.7以下的版本要修改include/archives.func.php文件),查找if(isset($tag[12]) 和if(isset($tag[20]),
查找if(isset($tag[12])
查找if(isset($tag[20])
把数字12与20均修改为240(240这个数字可以根据自己情况自行修改,但是一定要与第一步的一致) 。
将修改好的文件上传覆盖,经过以上两步,就取消了DedeCMS Tag标签12字节数的限制。
资源均来自第三方,谨慎下载,前往第三方网站下载