最近发现网站首页显示最近更新比较乱,想调用后台一篇文章来作为网站的公告,但是文章字数总是不能显示完全。经过研究发现了一种很简单的方法,将其总结出来以供大家使用。在网上也搜集了很多其他方法,也一并给大家列举出来,有兴趣的可以去研究研究。
dedecms调用指定id文章的方法方法一:
xx就是文章的id。例如:飞鹿优化主页调用的就是id=213的文章。
得到文章标题
{dede:global runphp="yes"} |
$row=$dsql->getOne("select title from dede_archives where id=xxx"); |
{dede:global runphp="yes"} |
$row=$dsql->getOne("select body from dede_addonarticle where aid=xxx"); |
{/dede:global}
dedecms调用指定id文章的方法方法二:
使用idlist直接调用指定的ID这样的方法
{dede:arclist idlist='6113'limit='0,1'infolen='60'}
<span class="tsjsxxl_6_4"><a href="[field:arcurl/]" target="_blank">[field:title/]</a></span> |
<span class="tsjsxxl_6_5">[field:infos/]<a href="[field:arcurl/]"target="_blank"style="color:Red;">[详细]</a></span>{/dede:arclist}
dedecms调用指定id文章的方法方法三:
找到: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' } |
<table cellspacing='2' cellpadding='2'> |
这样就只会调用到一个ID为145的文章,即始ROW设为5也没有用,因为从数据库里面只提出一条记录来,
但是现在还不能解析HTML语法,提出来的文章没有版式
dedecms调用指定id文章的方法方法四:
在首页模板里面加入如下代码:
复制代码
代码如下:
{dede:loop table='dede_addonarticle' sort='aid' row='8' if='aid=524'} |
[field:body function="Html2Text(cn_substr('@me',200))" /] |
注意下面的这一行:
{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标记过滤
以上为自己搜集和整理的方法,大家可以根据自己的实际情况合理的修改,以达到目的。飞鹿优化祝各位站长网站越来越好!
声明:
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。