有时在使用tag/1688/" target="_blank">织梦tag标签时间,修改时会发现所加的tag标签不见了,经过一番研究终于发现了问题所在。总的来说有两方面需要检查:
一、逗号问题
发布文章的时候,多个_ | h O m { 2 t x* q btag标签之S U # y w L !` y j = -间一定要用英文的逗号隔开,而J k } U 0 V | 6 E不是中文的( ` M p Z n z逗号。
二、tag标签长度超出了限制(通常都是这个问题引起tag的消失)
如果你输入的tag长度超出了默认的限制(12字节),就会导致H x J Y Y o T Gtag的消失,小编用utf的版本进行测试,当输入4个中文的时候t# T C S d 7ag正常显示,输入5个中文就会导致tag的消失。utf-8编码中每个中文占3字节,解决办法如下:
(1)修改数据库中表dede_7 U . - z C + m #tagind] q Z @ o DexW Y g e B y R和dedeL o / M _ e_taglis- h 9 %t的tag字段属性:把varchar(12)修改为varchar(200)
如果你不会修改数据库,可以在后台的 [系统] - [SQL命令行工具] 中输入以0 q A = 9 L u |下指令, u $ x ^:
请注意H P DY f } R 4 ! & C 9 g J ] L:) ; ! ; $ qdede_是系统默认的数据表前缀,如果你修改过表前缀,这里请\ ( e自o | ^ L z X . i m行更换
alter table dede_tagindex modify tag varchar(200); alto ` # _ Per table dede_taglist modify tag varchar: J ( e l B [ ^(200);
(2)修改源码,在include/helpers/archive.helper.php中查] \ 1 H = ?找:
大概第200行的 if(isset($tag[12])修? V Q B ^ 2改为:if(isset($tag[200])
大概第242行的 i& x 3 T V of(isset($tag[20])修改为:if(isset($taf I d ) : sg[200])