您好,登錄后才能下訂單哦!
小編給大家分享一下dedecms在列表頁調用body內容字段的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
dedecms如何在列表頁調用body內容字段?
我們都知道description的優化和seo也是息息相關的,對于seo新手來說往往沒有這一方面的經驗,不寫description可能效果更好,但是不寫description會出現一個問題,那就是無法在文章列表頁調出文章的簡介。
比如下列代碼:
{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內容字段的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。