DEDECMS調(diào)用特定ID文章內(nèi)容的實(shí)現(xiàn)方法,需要的朋友可以參考下。
方法一:
找到:include\inc_arcpart_view.php文件,在里面找到第function ParseTemplet();這一個(gè)函數(shù)里面的
代碼如下:
〔
$this->dtp->Assign($tagid,
$this->GetArcList($typeid,$ctag->GetAtt("row"),$ctag->GetAtt("col"),
$titlelen,$infolen,$ctag->GetAtt("imgwidth"),$ctag->GetAtt("imgheight"),
$ctag->GetAtt("type"),$orderby,$ctag->GetAtt("keyword"),$innertext,
$ctag->GetAtt("tablewidth"),0,"",$channelid,$ctag->GetAtt("limit"),$ctag->GetAtt("att"),
$ctag->GetAtt("orderway"),$ctag->GetAtt("subday"),$autopartid,$ctag->GetAtt("ismember")
)
〕
將里面的紅色的0改為$ctag->GetAtt('arcid'),就行了,然后到incclude\inc\inc_fun_spgetarclist.php文件里面找到
〔if($arcid!=0) $orwhere .= " And arc.ID<>'$arcid' ";〕
將這一句改為:if($arcid!=0) $orwhere .= " And arc.ID='$arcid' ";
if($arcid==0) $orwhere .= " And arc.ID<>'$arcid' ";
以上兩句,替換掉上面需要替換的語(yǔ)句。然后就可以調(diào)用了:如在主頁(yè)中調(diào)用ID號(hào)為145的文章內(nèi)容:
代碼如下:
{dede:arclist arcid='145' row='5' col='1' titlelen='24' }
<table width='100%' border='0' cellspacing='2' cellpadding='2'>
<tr>
<td>[field:title/]
[field:info/]</td>
</tr>
</table>
{/dede:arclist}
這樣就只會(huì)調(diào)用到一個(gè)ID為145的文章,即始ROW設(shè)為5也沒(méi)有用,因?yàn)閺臄?shù)據(jù)庫(kù)里面只提出一條記錄來(lái),
但是現(xiàn)在還不能解析HTML語(yǔ)法,提出來(lái)的文章沒(méi)有版式,下次改進(jìn)。
方法二:
剛一開(kāi)始沒(méi)有仔細(xì)看論壇,所以自已寫(xiě)出這樣的方法,其實(shí)大可不必按以上的方法做,可以借助強(qiáng)大的LOOP來(lái)實(shí)現(xiàn)這一種需求,現(xiàn)將個(gè)人方法寫(xiě)在下面,希望對(duì)需要的人有幫助;
在首頁(yè)模板里面加入如下代碼:
代碼如下:
{dede:loop table='dede_addonarticle' sort='aid' row='8' if='aid=524'}
[field:body/]
<hr>
[field:body function="Html2Text(cn_substr('@me',200))" /]
{/dede:loop}
注意下面的這一行:
{dede:loop table='dede_addonarticle' sort='aid' row='8' if='aid=524'}
其中有一個(gè)aid=524代表要取文章列表的ID號(hào)為524的文章,
table='dede_addonarticle' 為所存文章的表
其中中間的這一行最重要,
[field:body function="Html2Text(cn_substr('@me',200))" /]
這一句有多種調(diào)用方式:
如:[field:body/]將得到文章所有的內(nèi)容,不過(guò)濾HTML標(biāo)記
[field:body function="(cn_substr('@me',200))" /]
只取內(nèi)容的前200個(gè)字符
[field:body function="Html2Text(cn_substr('@me',200))" /]
取前200個(gè)字符并把HTML標(biāo)記過(guò)濾
其實(shí)DEDECMS真的很強(qiáng)大,偶算是領(lǐng)教了。