主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > DEDE arclist標(biāo)簽無法調(diào)用副欄目文章的解決辦法a

DEDE arclist標(biāo)簽無法調(diào)用副欄目文章的解決辦法a

POST TIME:2017-11-13 00:14

arclist標(biāo)簽無法調(diào)用副欄目文章的解決辦法

最近發(fā)現(xiàn)DEDECMS/' target='_blank'>dedecms中的文章在選擇幅欄目后,

在其對(duì)應(yīng)的幅欄目列表中可以顯示該文章,但在arclist 標(biāo)簽中卻無法顯示該文章,

網(wǎng)上找了很多,解決辦法都一樣,但寫法卻寫錯(cuò)了,導(dǎo)致arclist標(biāo)簽在使用了flag屬性時(shí)會(huì)失效的問題。

修正后的寫法如下。


打開/include/taglib/arclist.lib.php,我目前用的最新版 5.7 SP1,

代碼約位于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.')) ';

OK,這樣就改完了,保存后如果你是生成靜態(tài)的,請(qǐng)生成相關(guān)的。如果是動(dòng)態(tài)的,請(qǐng)更新系統(tǒng)緩存。然后就可以看到效果了。

===============================================================================

以上方法有個(gè)缺點(diǎn)arclist 標(biāo)簽就是只能有在顯示兩處位置

下面方法經(jīng)測(cè)試可以個(gè) 不知道三個(gè)以上可以不可以

用arclist標(biāo)簽調(diào)用文章的時(shí)候才發(fā)現(xiàn),根本無法調(diào)用相關(guān)文章。

下面給出解決辦法,希望幫到需要的人。

找到/include/taglib/arclist.lib.php文件然后打開。然后在大約300行代碼的位置。將下面的代碼

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).") or CONCAT( ',',

arc.typeid2, ',' ) LIKE '%,".$typeid.",%' )";

else $orwheres[] = " (arc.typeid in (".GetSonIds($typeid)

.",".$CrossID.") or arc.typeid2

in (".GetSonIds($typeid).",".$CrossID.")

or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%')";



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266