$vicewheres = ""; foreach($typeid as $tid){ $liketypeid2 = ",".$tid.","; $vicewheres." or CONCAT(',',arc.typeid2,',') like '%$liketypeid2%' "; } if($vicewheres!="") $orwheres[] = " (arc.typeid in ($typeid) $vicewheres) "; else $orwheres[] = " arc.typeid in ($typeid) "; 

第二步:然后在大概第303行的位置找到以下代码:

if ($CrossID=='') $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).')'; else $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).','.$CrossID.')'; 

将其替换成以下代码

//副栏目处理 

 

    $vicewheres = ""

 

    $typeids = explode(",",GetSonIds($typeid)); 

 

    $crossids = explode(",",$CrossID); 

 

    $typeidss = array_merge($typeids,$crossids); 

 

    $typeidss = array_unique($typeidss); 

 

    foreach($typeidss as $tid){ $liketypeid2 = ",".$tid.","; $vicewheres." or CONCAT(',',arc.typeid2,',') like '%$liketypeid2%' "; } 

 

if($CrossID==''){ if($vicewheres!="") $orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).') '.$vicewheres.') '; 

 

    else $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).') '; }else{ if($vicewheres!="") $orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') '.$vicewheres.') ';  

 

    else $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') '; } 

修改完成后保存覆盖就可以了。

通过上面的修改,可以有效地解决了DEDECMS不支持通过arclist标签调用副栏目文章的问题。