织梦dedeCMS发布修改文章导致tag标签失效
有时在使用织梦tag标签时间,修改时会发现所加的tag标签不见了,经过一番研究终于发现了问题所在。总的来说有两方面需要检查:
一、逗号问题
发布文章的时候,多个tag标签之间一定要用英文的逗号隔开,而不是中文的逗号。
二、tag标签长度超出了限制(通常都是这个问题引起tag的消失)
如果你输入的tag长度超出了默认的限制(12字节),就会导致tag的消失,小编用utf的版本进行测试,当输入4个中文的时候tag正常显示,输入5个中文就会导致tag的消失。utf-8编码中每个中文占3字节,解决办法如下:
(1)修改数据库中表dede_tagindex和dede_taglist的tag字段属性:把varchar(12)修改为varchar(200)
如果你不会修改数据库,可以在后台的 [系统] - [SQL命令行工具] 中输入以下指令:
请注意:dede_是系统默认的数据表前缀,如果你修改过表前缀,这里请自行更换
(2)修改源码,在include/helpers/archive.helper.php
中查找: 大概第200行的 if(isset($tag[12])修改为:if(isset($tag[200]) 大概第242行的 if(isset($tag[20])修改为:if(isset($tag[200])
alter table dede_tagindex modify tag varchar(200); alter table dede_taglist modify tag varchar(200); |
(2)修改源码,在include/helpers/archive.helper.php
中查找: 大概第200行的 if(isset($tag[12])修改为:if(isset($tag[200]) 大概第242行的 if(isset($tag[20])修改为:if(isset($tag[200])