POST TIME:2019-03-20 14:29
dedecms中的文章在選擇幅欄目后,在其對(duì)應(yīng)的幅欄目列表中可以顯示該文章,但在arclist 標(biāo)簽中卻無(wú)法顯示該文章,網(wǎng)上找了很多,解決辦法都一樣,但寫(xiě)法卻寫(xiě)錯(cuò)了,導(dǎo)致arclist標(biāo)簽在使用了flag屬性時(shí)會(huì)失效的問(wèn)題。修正后的寫(xiě)法如下:
打開(kāi)/include/taglib/arclist.lib.php,代碼約位于301-302行(我目前用的DedeCMS最新版 5.7 UTF-8),查找以下兩行代碼:
if($CrossID==”) $orwheres[] = ‘ arc.typeid IN (‘.GetSonIds($typeid).’)’;else $orwheres[] = ‘ arc.typeid IN (‘.GetSonIds($typeid).’,’.$CrossID.’)’;
將其替換成以下代碼:
if($CrossID==”)
{
$typeid2like = ” ‘%,”.GetSonIds($typeid).”,%’ “;
$orwheres[] = ” (arc.typeid IN (“.GetSonIds($typeid).”) OR CONCAT(‘,’, arc.typeid2, ‘,’) LIKE $typeid2like ) “;
}else{
$typeid2like = ” ‘%,”.GetSonIds($typeid).”,”.$CrossID.”,%’ “;
$orwheres[] = ” (arc.typeid IN (“.GetSonIds($typeid).”,”.$CrossID.”) OR CONCAT(‘,’, arc.typeid2, ‘,’) LIKE $typeid2like) “;
}
OK,這樣就改完了,保存后如果你是生成靜態(tài)的,請(qǐng)生成相關(guān)的。如果是動(dòng)態(tài)的,請(qǐng)更新系統(tǒng)緩存。然后就可以看到效果了。
適合單欄目調(diào)用,多欄目調(diào)用暫時(shí)實(shí)現(xiàn)不了,如果哪位同志實(shí)現(xiàn)了的,可以完善下哦,方便大家!
例如:{dede:arclist typeid=’4′},這里的typeid只能設(shè)置一個(gè)欄目的id,如果設(shè)置超過(guò)兩個(gè)就實(shí)現(xiàn)不了上面的功能了,忘高手補(bǔ)充下。
