您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
dedecms调用特定ID文章内容的方法示例代码
新波2023-12-08 18:19:46dedecms教程已有人查阅
导读方法一: 找到:include\inc_arcpart_view.php文件,在里面找到第function ParseTemplet();这一个函数里面的
方法一:
找到:include\inc_arcpart_view.php文件,在里面找到第function ParseTemplet();这一个函数里面的
但是现在还不能解析HTML语法,提出来的文章没有版式,下次改进。
方法二:
刚一开始没有仔细看论坛,所以自已写出这样的方法,其实大可不必按以上的方法做,可以借助强大的LOOP来实现这一种需求,现将个人方法写在下面,希望对需要的人有帮助;
在首页模板里面加入如下代码:
table='dede_addonarticle' 为所存文章的表
其中中间的这一行最重要,
找到: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 width='100%' border='0' cellspacing='2' cellpadding='2'>
<tr>
<td>[field:title/]
[field:info/]</td>
</tr>
</table>
{/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标记过滤其实DEDECMS真的很强大,偶算是领教了。
本文标签:
很赞哦! ()
相关文章
随机图文
-
dedecms织梦修改专题文章列表模板的方法
如果没有进行特别的设置,专题的文章列表显示默认是采用的default下面的article_spec.htm文件作为模板;这个模板文件很简单,前面是该专题的一些信息 -
织梦dedecms修改后台自定义表单列表为横排显示的办法
dede织梦系统自定义表单提交内容后,在后台显示的方式比较别扭,我们都习惯横排显示,这里介绍怎么修改成横排显示。1、找到后台自定义表单的模板,dede/t -
dedecms专题列表页不支持[dede:fulltitle]标签的解决方法
今天发现自己站里的专题列表页面里调用的专题列表图片和a标签的title都没有显示,找到模板文件里看了下才发现dede:list标签中title调用的都是 -
DEDECMS主题由绿色变为蓝色的方法
DEDECMS的默认主题颜色是绿色的,其实也蛮好看的,只是有点特别,让人一眼就可以看出用的是默认模板,因为大多数网站的色调都是比较深沉一点的蓝色。可是好像
留言与评论 (共有 条评论) |