本文實(shí)例講述了dedecms列表頁(yè)調(diào)用文章正文內(nèi)容的方法。分享給大家供大家參考。具體分析如下:
一般來(lái)說(shuō),在列表頁(yè)面要獲取文章內(nèi)容簡(jiǎn)單描述的話(huà)我們可以直接使用description標(biāo)簽就可以了,但是如果要有很多估計(jì)我們需要進(jìn)行一些簡(jiǎn)單的修改。
在制作織夢(mèng)模板的時(shí)候,有的時(shí)候我們需要調(diào)用文章部分內(nèi)容,用[field:description/]標(biāo)簽字?jǐn)?shù)不夠多(數(shù)據(jù)庫(kù)設(shè)計(jì)字段是varchar(255)的),另外修改了文章內(nèi)容但是摘要還需要手動(dòng)修改,所以只能調(diào)用文章正文內(nèi)容了.
實(shí)現(xiàn)織夢(mèng)DedeCMS列表頁(yè)調(diào)用文章正文的方法有兩種,不過(guò)都是使用的dede:arclist標(biāo)簽,如果使用dede:list標(biāo)簽的話(huà),第一種方法是調(diào)用不出結(jié)果的.
以下是織夢(mèng)DedeCMS列表頁(yè)調(diào)用文章正文的第一種方法,代碼如下:
復(fù)制代碼代碼如下:{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/]'>【閱讀詳細(xì)】</a></p>
{/dede:arclist}
代碼中的數(shù)字400是用來(lái)設(shè)置需要調(diào)用多少內(nèi)容的,因?yàn)檎{(diào)用的是body里面的內(nèi)容,如果有里面包含代碼的話(huà)也會(huì)被調(diào)用出來(lái),這點(diǎn)比較不好,不過(guò)可以使用html2tex()函數(shù)解決一下.
第二種方法則是利用了織夢(mèng)可以自定義模型內(nèi)容數(shù)據(jù),并調(diào)用的原理,把文章模板的body字段看做在自定義的,調(diào)用的代碼如下:
復(fù)制代碼代碼如下:{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}
以下是這種方法的詳細(xì)說(shuō)明:
1.addrields=”字段一,字段二…”
2.idlist:文章編號(hào),調(diào)用指定內(nèi)容
3.function=’cn_substr(html2text(@me),600)’ 將文章內(nèi)容轉(zhuǎn)化為文字格式
4.channelid,模型編號(hào),文章默認(rèn)為1,查看位置:后臺(tái)–核心–內(nèi)容模型管理
兩種方法各有優(yōu)劣,第一種方法比較繁瑣,不是那么容易看懂,還是比較推薦采用第二種方法實(shí)現(xiàn)織夢(mèng)DedeCMS列表頁(yè)調(diào)用文章正文的功能的.
誰(shuí)說(shuō)dede:list 標(biāo)簽不能調(diào)用body內(nèi)容,現(xiàn)在就告訴你,直接就可以調(diào)用
第一步,打開(kāi)后臺(tái) 核心-->頻道模型-->內(nèi)容模型管理-->普通文章,在列表附加字段中添加body.
第二步,在dede:list語(yǔ)句中指定addfields='body',然后直接用[field:body/]調(diào)用全部?jī)?nèi)容.
實(shí)例代碼如下:
復(fù)制代碼代碼如下:{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}
另外,如果像摘要一樣調(diào)用可以用,代碼如下:
復(fù)制代碼代碼如下:[field:body function='cn_substr(html2text(@me),200)'/]
替代:
復(fù)制代碼代碼如下:[field:description /]
調(diào)出文章前200個(gè)字符內(nèi)容,經(jīng)過(guò)這兩步,可以徹底關(guān)掉系統(tǒng)默認(rèn)的文章摘要功能,最后還有就是官方的一個(gè)[field:description/]字段了,這個(gè)如果對(duì)于要求幾十個(gè)字的完全可以了,但是如果太多字此字段就無(wú)效了.
希望本文所述對(duì)大家的dedecms建站有所幫助。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄