DEDECMS调用特定ID文章内容的实现方法_dedecms_CMS教程

方法一: Wem迪尔课堂自学网-|第二课堂|--(官网)
找到:include/inc_arcpart_view.php文件,在里面找到第function ParseTemplet();这一个函数里面的 Wem迪尔课堂自学网-|第二课堂|--(官网)

复制代码
代码如下:
Wem迪尔课堂自学网-|第二课堂|--(官网)
Wem迪尔课堂自学网-|第二课堂|--(官网)
$this->dtp->Assign($tagid, Wem迪尔课堂自学网-|第二课堂|--(官网)
$this->GetArcList($typeid,$ctag->GetAtt("row"),$ctag->GetAtt("col"), Wem迪尔课堂自学网-|第二课堂|--(官网)
$titlelen,$infolen,$ctag->GetAtt("imgwidth"),$ctag->GetAtt("imgheight"), Wem迪尔课堂自学网-|第二课堂|--(官网)
$ctag->GetAtt("type"),$orderby,$ctag->GetAtt("keyword"),$innertext, Wem迪尔课堂自学网-|第二课堂|--(官网)
$ctag->GetAtt("tablewidth"),0,"",$channelid,$ctag->GetAtt("limit"),$ctag->GetAtt("att"), Wem迪尔课堂自学网-|第二课堂|--(官网)
$ctag->GetAtt("orderway"),$ctag->GetAtt("subday"),$autopartid,$ctag->GetAtt("ismember") Wem迪尔课堂自学网-|第二课堂|--(官网)
) Wem迪尔课堂自学网-|第二课堂|--(官网)
Wem迪尔课堂自学网-|第二课堂|--(官网)
Wem迪尔课堂自学网-|第二课堂|--(官网)
将里面的红色的0改为$ctag->GetAtt('arcid'),就行了,然后到incclude/inc/inc_fun_spgetarclist.php文件里面找到 Wem迪尔课堂自学网-|第二课堂|--(官网)
〔if($arcid!=0) $orwhere .= " And arc.ID<>'$arcid' ";〕 Wem迪尔课堂自学网-|第二课堂|--(官网)
将这一句改为:if($arcid!=0) $orwhere .= " And arc.ID='$arcid' "; Wem迪尔课堂自学网-|第二课堂|--(官网)
if($arcid==0) $orwhere .= " And arc.ID<>'$arcid' "; Wem迪尔课堂自学网-|第二课堂|--(官网)
以上两句,替换掉上面需要替换的语句。然后就可以调用了:如在主页中调用ID号为145的文章内容: Wem迪尔课堂自学网-|第二课堂|--(官网)

复制代码
代码如下:
Wem迪尔课堂自学网-|第二课堂|--(官网)
{dede:arclist arcid='145' row='5' col='1' titlelen='24' } Wem迪尔课堂自学网-|第二课堂|--(官网)
<table width='100%' border='0' cellspacing='2' cellpadding='2'> Wem迪尔课堂自学网-|第二课堂|--(官网)
<tr> Wem迪尔课堂自学网-|第二课堂|--(官网)
<td>[field:title/] Wem迪尔课堂自学网-|第二课堂|--(官网)
[field:info/]</td> Wem迪尔课堂自学网-|第二课堂|--(官网)
</tr> Wem迪尔课堂自学网-|第二课堂|--(官网)
</table> Wem迪尔课堂自学网-|第二课堂|--(官网)
{/dede:arclist} Wem迪尔课堂自学网-|第二课堂|--(官网)
Wem迪尔课堂自学网-|第二课堂|--(官网)
这样就只会调用到一个ID为145的文章,即始ROW设为5也没有用,因为从数据库里面只提出一条记录来, Wem迪尔课堂自学网-|第二课堂|--(官网)
但是现在还不能解析HTML语法,提出来的文章没有版式,下次改进。 Wem迪尔课堂自学网-|第二课堂|--(官网)
方法二: Wem迪尔课堂自学网-|第二课堂|--(官网)
刚一开始没有仔细看论坛,所以自已写出这样的方法,其实大可不必按以上的方法做,可以借助强大的LOOP来实现这一种需求,现将个人方法写在下面,希望对需要的人有帮助; Wem迪尔课堂自学网-|第二课堂|--(官网)
在首页模板里面加入如下代码: Wem迪尔课堂自学网-|第二课堂|--(官网)

复制代码
代码如下:
Wem迪尔课堂自学网-|第二课堂|--(官网)
{dede:loop table='dede_addonarticle' sort='aid' row='8' if='aid=524'} Wem迪尔课堂自学网-|第二课堂|--(官网)
[field:body/] Wem迪尔课堂自学网-|第二课堂|--(官网)
<hr> Wem迪尔课堂自学网-|第二课堂|--(官网)
[field:body function="Html2Text(cn_substr('@me',200))" /] Wem迪尔课堂自学网-|第二课堂|--(官网)
{/dede:loop} Wem迪尔课堂自学网-|第二课堂|--(官网)
Wem迪尔课堂自学网-|第二课堂|--(官网)
注意下面的这一行: Wem迪尔课堂自学网-|第二课堂|--(官网)
{dede:loop table='dede_addonarticle' sort='aid' row='8' if='aid=524'} Wem迪尔课堂自学网-|第二课堂|--(官网)
其中有一个aid=524代表要取文章列表的ID号为524的文章, Wem迪尔课堂自学网-|第二课堂|--(官网)
table='dede_addonarticle' 为所存文章的表 Wem迪尔课堂自学网-|第二课堂|--(官网)
其中中间的这一行最重要, Wem迪尔课堂自学网-|第二课堂|--(官网)
[field:body function="Html2Text(cn_substr('@me',200))" /] Wem迪尔课堂自学网-|第二课堂|--(官网)
这一句有多种调用方式: Wem迪尔课堂自学网-|第二课堂|--(官网)
如:[field:body/]将得到文章所有的内容,不过滤HTML标记 Wem迪尔课堂自学网-|第二课堂|--(官网)
[field:body function="(cn_substr('@me',200))" /] Wem迪尔课堂自学网-|第二课堂|--(官网)
只取内容的前200个字符 Wem迪尔课堂自学网-|第二课堂|--(官网)
[field:body function="Html2Text(cn_substr('@me',200))" /] Wem迪尔课堂自学网-|第二课堂|--(官网)
取前200个字符并把HTML标记过滤 Wem迪尔课堂自学网-|第二课堂|--(官网)
其实DEDECMS真的很强大,偶算是领教了。

扫一扫手机访问