在dedecms中調用專題內容需使用{dede:channelartlist}與{dede:arclist}組合標簽,首先確認欄目為“專題模型”類型并指定欄目id或名稱。常用寫法包括:1. 使用{dede:channelartlist typeid=’專題欄目id’}包裹{dede:arclist}以展示指定專題下的文章列表;2. 在專題頁面內直接使用{dede:arclist}調用當前專題文章;3. 注意檢查欄目設置、文章發布狀態、欄目id是否正確及模板緩存問題,避免內容無法調用。
在使用 DEDECMS 建站時,如果你有專題頁面需求,比如新聞專題、活動專題等,就需要用到“調用專題內容”的功能。DedeCMS 提供了專門的標簽來實現這個功能,主要通過 {dede:channelartlist} 和 {dede:arclist} 等組合標簽來調用專題下的文章內容。
下面我從幾個實用角度講講怎么調用專題內容以及常用的標簽寫法。
一、如何識別專題模型和欄目
在 DedeCMS 中,專題內容通常是通過“專題模型”(也就是頻道模型中的“專題”)創建的。你需要先確認:
- 你的欄目是否是“專題模型”類型;
- 該欄目下是否有發布的內容。
你可以進入后臺【核心】→【頻道模型】→【內容模型管理】查看是否啟用了“專題文檔”模型。通常,系統默認已經啟用。
調用專題內容前,首先要確定你要調用的是哪個欄目的內容。可以通過欄目 ID 或者欄目名稱來指定。
二、調用專題內容的核心標簽寫法
最常用的方式是結合 {dede:channelartlist} 和 {dede:arclist} 標簽來調用專題內容。以下是一個基礎示例:
{dede:channelartlist typeid='專題欄目ID'} <h3>{dede:field name='typename'/}</h3> <ul> {dede:arclist titlelen='42' row='10'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist} </ul> {/dede:channelartlist}
說明:
- typeid=’專題欄目ID’:指定要調用的專題欄目 ID;
- {dede:field name=’typename’/}:輸出該專題的欄目名稱;
- {dede:arclist}:用于列出該欄目下的文章;
- titlelen=’42’ 控制標題長度,row=’10’ 控制條數。
這樣就可以在一個頁面中展示某個專題下的文章列表了。
三、專題頁面內調用當前專題的文章
如果你是在專題頁面本身(如 special/article_index.htm)中調用文章,可以直接使用 {dede:arclist},因為此時已經處于該欄目上下文中,不需要再加 channelartlist 包裹。
例如:
{dede:arclist row='10' titlelen='60'} <p><a href="[field:arcurl/]">[field:title/]</a></p> {/dede:arclist}
這種寫法適合放在專題首頁模板中,用來展示最新發布的文章。
四、常見問題與注意事項
有時候你會發現調用不出內容,可能是因為:
- 沒有正確設置欄目為“專題模型”;
- 欄目中沒有發布文章;
- 使用了錯誤的欄目 ID;
- 模板緩存未更新,建議清空緩存重新生成頁面。
另外,注意不要混淆 {dede:channel} 和 {dede:channelartlist} 的區別。前者只調用欄目信息,后者可以嵌套調用文章列表。
基本上就這些。只要搞清楚欄目類型和標簽結構,調用專題內容并不難,但容易忽略細節導致顯示不出來。多檢查一下欄目屬性和緩存狀態,一般都能解決。