小編給大家分享一下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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。