因为dedecms图集模型编辑文档会默认过滤:
checkbox多选字段失效
逗号被过滤
tag标签的逗号失效
解决方法
1、打开 /include/helpers/filter.helper.php 找到
'/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/'
改成
'/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S'
2、打开 /include/datalistcp.class.php 找到
'/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/'
改成
'/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S'
3、打开/dede/album_edit.php 搜索
$arcRow=XSSClean($arcRow);$addRow=XSSClean($addRow);
删除。
二、勾选多个副栏目,只显示一个的问题:
打开/include/helpers/archive.helper.php 这个文件,156行,这一段代码
$typeid2 = intval($typeid2);
删除。
打开/include/taglib/arclist.lib.php第156行左右
将下面的代码
if($CrossID=='') $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).')';
else $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).','.$CrossID.')';
修改为
if($CrossID=='')
$orwheres[] = ' typeid in ('.GetSonIds($typeid).') or typeid2 in ('.GetSonIds($typeid).')';
else
$orwheres[] = ' typeid in ('.GetSonIds($typeid).','.$CrossID.') or typeid2 in ('.GetSonIds($typeid).','.$CrossID.')';