設計盒模板網專注于織夢模板dedecms源碼分享、discuz論壇模板、ThinkPhp框架模板做完整無錯帶數據網站源碼下載平臺。
用戶名:
密碼:
注冊

織夢源碼,dedecms模板

VIP

織夢dedecms專題模板應用分析及使用案例

www.yvvjod.live / 2014-08-27

DeDeCms織夢教程的專題相關資料在網上很少,之前查閱了很多資料都未找到其詳細方案,所以還是自己動手豐衣足食,在官方的版本上發現有這樣的一段話:
 
1、文章列表用ID1、ID2、ID3這樣形式分開,系統會自動排除不同節點的相同文章;
 
2、關于單條記錄模板里的[field:fieldname /]標記的使用,請參考關于系統幫助關于arclist標記的說明;
 
3、節點ID是節點的唯一標識,允許在專題模板中用{dede:specnote id='標識'/}這樣來表示單個節點。
 
4、正常的情況下,每個節點顯示的是“節點文章列表”里的文檔,如果你指定為“自動獲取模式”,那么必須指定關鍵字和欄目ID。
 
可是經測試{dede:specnote id='標識'/}這個并沒有生效,
 
因此開始解決這個,以替換掉原來比較死板{dede:field name='note'/}標簽;
 
舉例說明:
 
我要分兩欄顯示不同節點的文章,目前用"note"就不能實現,只能是同一節點分欄,難免就顯得有些捌扭,不夠靈活。
 
下面我就把自己解決方案寫下,僅供大家參考,本方法只是實現了功能,可實現方法不一定是最好的:
 
步驟1:找到并打開include/inc_archives_view.php文件,在里面找到如下代碼:
 
    //廣告標記
    //-----------------------
    else if($ctag->GetName()=="myad"){
     $this->dtp->Assign($tagid,$this->PartView->GetMyAd($typeid,$ctag->GetAtt("name")));
    }
 
 
在其底下添加如下代碼:
 
    // 專題標識
    // by phpfans
     else if($ctag->GetName()=="specnote"){
     $this->dtp->Assign($tagid,$this->ChannelUnit->GetSpecList('',$this->ChannelUnit->specrule,$ctag->GetAtt("id")));
    }
 
 
說明:在廣告標記下增加專題標識,這樣專題文章列表頁就可以識別specnote標簽了。
 
步驟2:找到并打開include/inc_channel_unit.php文件,在最底下添加如下代碼:
 
    var $specrule;
     //-------------
     //php5構造函數
    //-------------
 
 
說明:增加了對$pecrule變量的定義
 
步驟3:找到并打開include/inc_channel_unit.php文件,找到如下代碼:
 
    else if($ftype=="specialtopic"){
     $this->specrule = $fvalue;
     $fvalue = $this->GetSpecList($fname,$fvalue);
     }
 
 
說明:這里增加了$this->specrule = $fvalue;這句,以便獲取addonspec表的note字段數據。
 

 

 

 

收縮
福彩3d字谜总汇