dedecms如何在清單頁呼叫body內容欄位?
我們都知道description的優化和seo也是息息相關的,對於seo新手來說往往沒有這一方面的經驗,不寫description可能效果更好,但是不寫description會出現一個問題,那就是無法在文章列表頁調出文章的簡介。
推薦學習:織夢cms
例如下列程式碼:
{dede:list pagesize='10'} [field:title/] [field:description/]... 作者:[field:writer/] 发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/] {/dede:list}
因為沒寫description這時候文章簡介就會顯示空白,嚴重影響了頁面的美觀和功用性。
以下是我的一些解決方法。
我們可以用截取文章前100個字當文章簡介,這裡要組合使用用兩個函數cn_substr和html2text,對文章轉義後截取。測試程式碼:[field:body function="cn_substr(html2text(@me),200)"/],結果發現還是不行,因為body和description不在同一張表裡。所以只好從程式上入手了。
開啟include檔案下extend.func.php新增以下程式碼:
//获取单篇文档body function GetOneArchiveBody($aid,$length) { global $dsql; $aid = trim(ereg_replace('[^0-9]','',$aid)); $body = ''; $query = " Select art.body From `dede_addonarticle` art, `dede_archives` arc where art.aid='$aid' and art.aid=arc.id "; $arcRow = $dsql->GetOne($query); if(!is_array($arcRow)) { return $body; } if(isset($arcRow['body'])) { $body = cn_substr(html2text($arcRow['body']),$length); } return $body; }
在前台範本呼叫:
{dede:list pagesize='10'} [field:title/] [field:id function="GetOneArchiveBody(@me,200)"/]... 作者:[field:writer/] 发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/] {/dede:list}
以上是dedecms如何在列表頁呼叫body內容字段的詳細內容。更多資訊請關注PHP中文網其他相關文章!