我們都知道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 `#@__addonarticle` art, `#@__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);
- //Vevb.com
- }
- 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}
新聞熱點
疑難解答