最近有站长朋友问我一个关于tag标签消失的问题,经过一番研究终于发现了问题所在。总的来说有两方面需要检查: 一、逗号问题 发布文章的时候,多个tag标签之间一定要用英文的逗号隔开,而不是中文的逗号。 如果经常修改或发布tag标签,又感觉每次切换英文逗 […]
最近有站长朋友问我一个关于tag标签消失的问题,经过一番研究终于发现了问题所在。总的来说有两方面需要检查:
一、逗号问题
发布文章的时候,多个tag标签之间一定要用英文的逗号隔开,而不是中文的逗号。
如果经常修改或发布tag标签,又感觉每次切换英文逗号很麻烦,试试这个方法吧,可以把中文逗号自动变成英文逗号http://www.dedecmsok.com/html/n53.html
二、tag标签长度超出了限制(通常都是这个问题引起tag的消失)
如果你输入的tag长度超出了默认的限制(12字节),就会导致tag的消失,小编用utf的版本进行测试,当输入4个中文的时候tag正常显示,输入5个中文就会导致tag的消失。utf-8编码中每个中文占3字节,解决办法如下:
(1)修改数据库中表58pic_tagindex和58pic_taglist的tag字段属性:把varchar(12)修改为varchar(200)
如果你不会修改数据库,可以在后台的 [系统] - [SQL命令行工具] 中输入以下指令:
请注意:58pic_是系统默认的数据表前缀,如果你修改过表前缀,这里请自行更换
(2)修改源码,在include/helpers/archive.helper.php中查找:
大概第200行的 if(isset($tag[12])修改为:if(isset($tag[200])
大概第242行的 if(isset($tag[20])修改为:if(isset($tag[200])