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.
‘)’;

 

上传后覆盖即可!