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.')';
	

上传后覆盖即可!

以上就是DedeCMS图集副栏目无法多选的如何解决办法。俗话说:退一步海阔天空;可俗话又说:狭路相逢勇者胜!做人做事不要太处处逼人,给别人方便就是给自己方便,但是与到欺人太甚的也不要过于谦让,那会让他更嚣张,要有勇有谋,才是真英雄。更多关于DedeCMS图集副栏目无法多选的如何解决办法请关注haodaima.com其它相关文章!

标签: 图集 办法