今天在做医院的门户网站时,因为有的专家属于多个诊疗科室。在专家调用的时候就用到了副栏目的关联。但是显示却出现了问题。arclist标签调用推荐专家,关联的专家无法正常显示。于是在网上搜索没有找到好的解决办法。自己查看了arclist标签的处理文件做了一点小修改。
修改内容如下:
找到并打开/include/taglib/arclist.lib.php,代码大约处于295-296行的样子。
if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')'; else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';
将上面的代码直接替换成
if($CrossID=='') $orwheres[] = ' (arc.typeid IN ('.GetSonIds($typeid).') OR arc.typeid2 IN ('.GetSonIds($typeid).')) '; else $orwheres[] = ' (arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.') OR arc.typeid2 IN ('.GetSonIds($typeid).','.$CrossID.')) ';
修改完成之后保存测试就行了,修改的时候记得先备份该文件。以免修改错误造成网页出现异常。