當前位置:源碼庫-建站教程-CMS教程-dedecms教程-dedecms如何在列表頁調用body內容字段的方法示例

dedecms如何在列表頁調用body內容字段的方法示例

時間:2019-01-29來源/作者:網站源碼庫 編輯:源碼庫 文章熱度:

我們都知道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}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持ASPKU源碼庫。


注:相關教程知識閱讀請移步到dedecms教程頻道。
下一篇:沒有了
相關dedecms教程
熱門標簽

dedecms教程Rss訂閱dedecms教程搜索

陕西福彩快乐十分爱彩乐