最近發現dedecms中的文章在選擇幅欄目后,在其對應的幅欄目列表中可以顯示該文章,但在arclist標簽中卻無法顯示該文章,網上找了很多,解決辦法都一樣,但寫法卻寫錯了,導致arclist標簽在使用了flag屬性時會失效的問題。修正后的寫法如下:
打開/include/taglib/arclist.lib.php,代碼約位于295-296行(我目前用的DedeCMS最新版5.7SP1),查找以下兩行代碼:
if($CrossID=='')$orwheres[]='arc.typeidIN('.GetSonIds($typeid).')';else$orwheres[]='arc.typeidIN('.GetSonIds($typeid).','.$CrossID.')';
替換成
if($CrossID=='')$orwheres[]='(arc.typeidIN('.GetSonIds($typeid).')ORarc.typeid2IN('.GetSonIds($typeid).'))';else$orwheres[]='(arc.typeidIN('.GetSonIds($typeid).','.$CrossID.')ORarc.typeid2IN('.GetSonIds($typeid).','.$CrossID.'))';
OK,這樣就改完了,保存后如果你是生成靜態的,請生成相關的。如果是動態的,請更新系統緩存。然后就可以看到效果了。