dedecms列表頁調用文章正文內容的方法

一般來說,在列表頁面要獲取文章內容簡單描述的話我們可以直接使用description標籤就可以了,但是如果要有很多估計我們需要進行一些簡單的修改。

在製作織夢模板的時候,有的時候我們需要調用文章部分內容,用[field:description/]標籤字數不夠多(數據庫設計字段是varchar(255)的),另外修改了文章內容但是摘要還需要手動修改,所以只能調用文章正文內容了.

實現織夢DedeCMS列表頁調用文章正文的方法有兩種,不過都是使用的dede:arclist標籤,如果使用dede:list標籤的話,第一種方法是調用不出結果的.

以下是織夢DedeCMS列表頁調用文章正文的第一種方法,代碼如下:

複製代碼
代碼如下:
{dede:arclist flag='h' row='10′} 
<h1><a href='[field:arcurl/]'>[field:title/]</a></h1> 
<p>[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select body From 'dede_addonarticle' where aid='$aid' "); @me = 
cn_substr(strip_tags("{$row['body']}"),400);[/field:id]<a href='[field:arcurl/]'>【閱讀詳細】</a></p>
{/dede:arclist}

代碼中的數字400是用來設置需要調用多少內容的,因爲調用的是body裏面的內容,如果有裏面包含代碼的話也會被調用出來,這點比較不好,不過可以使用html2tex()函數解決一下.

第二種方法則是利用了織夢可以自定義模型內容數據,並調用的原理,把文章模板的body字段看做在自定義的,調用的代碼如下:

複製代碼
代碼如下:
{dede:arclist row='10' addfields='body' channelid='1'} 
<p> [field:body function='cn_substr(html2text(@me),600)'/]...</p> 
<span class="more"> 
<a href=" [field:arcurl/]" style="text-decoration:none; color:#990000;"& gt; [詳 情] 
</a> 
</span> 
{/dede:arclist}

以下是這種方法的詳細說明: 

1.addrields=”字段一,字段二…”

2.idlist:文章編號,調用指定內容

3.function=’cn_substr(html2text(@me),600)’ 將文章內容轉化爲文字格式

4.channelid,模型編號,文章默認爲1,查看位置:後臺–核心–內容模型管理

兩種方法各有優劣,第一種方法比較繁瑣,不是那麼容易看懂,還是比較推薦採用第二種方法實現織夢DedeCMS列表頁調用文章正文的功能的.

誰說dede:list 標籤不能調用body內容,現在就告訴你,直接就可以調用

第一步,打開後臺 核心-->頻道模型-->內容模型管理-->普通文章,在列表附加字段中添加body.

第二步,在dede:list語句中指定addfields='body',然後直接用[field:body/]調用全部內容.

實例代碼如下:

複製代碼
代碼如下:
{dede:list pagesize='18' addfields='body'} 
<li> 
<p>[field:body/]</p> 
<p><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></p> 
</li> 
{/dede:list}

另外,如果像摘要一樣調用可以用,代碼如下:

複製代碼
代碼如下:
[field:body function='cn_substr(html2text(@me),200)'/]

替代:
複製代碼
代碼如下:
[field:description /]

調出文章前200個字符內容,經過這兩步,可以徹底關掉系統默認的文章摘要功能,最後還有就是官方的一個[field:description/]字段了,這個如果對於要求幾十個字的完全可以了,但是如果太多字此字段就無效了.

希望本文所述對大家的dedecms建站有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章