dedecms如何在列表頁調用body內容字段

dedecms如何在列表頁調用body內容字段

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}

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享