演示链接:查看演示

arclist标签调用副栏目文章的方法 for dedecms

最近一段时间以来,有不少时间都在折腾DEDECMS,对其进行了不少的优化工作,以便其适应我的应用要求。在这其中,也遇到了不少的问题。譬如:DEDECMS根据副栏目进行文章调用的问题。

DEDECMS中一个文章可以同时属于两个栏目,即一个主栏目一个副栏目,{dede:arclist} 属性中可以通过typeid进行主栏目有效性筛选,但是有时我们却想根据副栏目进行筛选,查了dedecms的在线用户手册发现没有此功能,最后搜索到一个有效地解决办法。只需修改标签对应的源文件。

 

查找 dedecmsROOT/include/taglib/arclist.lib.php 文件,大概在第212行代码处。

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

示例:{dede:arclist typeid=’2,3,4′}….{/dede:arclist}

 

通过以上办法,有效地解决了DEDECMS最新版本V5.6正式版(2010-08-18)(包括在此前的版本),不支持通过arclist标签调用副栏目文章的问题。
 

THE END
喜欢就支持一下吧
点赞0 分享