DedeCMS调用指定文章内容的两种如何实现方法

枫树林给大地铺上了红色的地毯,秋风一吹,枫叶发出哗啦啦的响声,好似在鼓掌欢庆这丰收的景象。看,那菊花,它们开得多么热烈!距么旺盛!黄的、红的、白的、紫的……一朵朵,一簇簇,迎着秋风,披着寒霜,争妍斗艳,喷芳吐香,开得到处都是,简直成了一个锦簇的世界。

有时候我们需要dedecms能够调用指定文章的内容,尤其是在建企业网站的时候,需要在首页调用网站简介联系我们什么的。今天,织梦技术研究中心就给大家介绍两种实现调用指定文章内容的方法。

方法一:打开include/inc_arcpart_view.php文件,在里面找到function ParseTemplet();这一个函数里面的如下代码:

$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' ";


然后就可以调用了,如在主页中调用文章id为145的文章内容,可以用如下代码调用:

{dede:arclist arcid='145' row='5' col='1' titlelen='24' } [field:title/] [field:info/] {/dede:arclist}


这样就只会调用到一个ID为145的文章,即始ROW设为5也没有用,因为从数据库里面只提出一条记录来, 但是现在还不能解析HTML语法,提出来的文章没有版式。

方法二: 可以借助强大的LOOP万能标签来实现这一种需求,在首页模板里面加入如下代码:

{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'}


其中有一个aid=524,代表要取文章列表的id为524的文章内容,table='dede_addonarticle' 为所存文章的表 其中中间的这一行最重要:
 

[field:body function="Html2Text(cn_substr('@me',200))" /]


上面这一句有多种调用方式,如:
 

[field:body/]

将得到文章所有的内容,不过滤HTML标记;
 

[field:body function="(cn_substr('@me',200))" /]

只取内容的前200个字符;
 

[field:body function="Html2Text(cn_substr('@me',200))" /]

取前200个字符并把HTML标记过滤。

以上就是实现调用指定文章内容的方法,大家可以自己研究一下!

您可能有感兴趣的文章
织梦后台文档列表添加复制文档功能支持所有模型

织梦无法上传ico图标格式文件的如何解决方法

dedecms如何实现任意页面调用当前会员信息的方

织梦dede:tag调用指定多个栏目的TAG标签

织梦栏目列表按附加表自定义字段排序