DedeCMS图集副栏目无法多选的解决办法
因为dedecms织梦图集模型编辑文档会默认过滤,checkbox多选字段失效,逗号被过滤,tag标签的逗号失效,所以织梦图集模型副栏目无法多选,需要我们做下修改!
一、解决方法:
1、打开/include/helpers/filter.helper.php 和 /include/datalistcp.class.php 找到:
‘/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/’
改成:
‘/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S’
2、打开/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.
‘)’;
上传后覆盖即可!