dede使用channelartlist在列表頁和內容頁調用同級欄目的方法

使用dede時,想在列表頁和內容頁調用同級欄目的文章,當然可以使用{dede:channelartlist typeid=‘1’ row='5'}的方法,指定欄目id,但是要自動判斷當前欄目的同級欄目就沒辦法了或者需要給每個頂級欄目分配一個模板,這樣很麻煩。本文將給一種更簡單的辦法

       找到\include\taglib\channelartlist.lib.php 文件

查找: $attlist = 'typeid|0,row|20,cacheid|'; 

修改爲:$attlist = 'typeid|0,row|20,cacheid|,type|';     //這邊加個 type 實現 在子欄目下調用   同級子欄目的信息

然後查找:

if($typeid==0 || $typeid=='top') {
        $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";
    }


修改爲:

if($type=='reid')    //調用上級目錄下的子欄目內容
      {        
        $reid = $refObj->TypeLink->TypeInfos['reid'];          
        $tpsql = " reid='$reid' AND ispart<>2 AND ishidden<>1 ";
      }
    else if($typeid==0 || $typeid=='top') {
        $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";
    }


保存上面文件。然後在列表頁或者內容頁使用
{dede:channelartlist type='reid' row='5'}
底層循環代碼
{/dede:channelartlist}  
就可以方便調用了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章