我们常会碰到一些问题,比如织梦内核网站在首页调用某一篇文档的正文内容,今天实例讲述了 dedecms 首页调用指定一篇文章 body 内容的方法。需要在网站首页或栏目封面上显示几篇文章的内页作为导语或其他什么的,但 acrlist 标签是不能直接调取 body 的,这时我们就需要使用以下方法来调取 body。分享给大家供大家参考,具体实现方法如下:
<!-- 首页调用 -->
{dede:arclist row='1' typeid='1' addfields='body' idlist='1' channelid='1'}
[field:body function='cn_substr(html2text(@me),100)'/]
{/dede:arclist}
1、addrields=”字段 1,字段 2…”
2、idlist=”文章 ID”(可不写)
3、channelid=”模型 ID”,普通文章默认为 1(查看方法:核心–频道模型–内容模型管理–id 号)
4、function=’cn_substr(html2text(@me),100)’ 过滤文章样式,并限制 100 字符
织梦 DedeCMS 首页调用文章 body 的另一种语句
{dede:arclist flag=h typeid=2 row=1 titlelen='200' orderby=pubdate}
<div class="data-news">
<dl>
<dt><a href="[field:arcurl/]" target="_blank">[field:title/]</a></dt>
<dd><a href="[field:arcurl/]" target="_blank">[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select body From `dede_addonarticle` where aid='$aid' "); @me = cn_substr(strip_tags("{$row['body']}"),960);[/field:id]...</a></dd>
</dl>
{/dede:arclist}
列表页用 dede:list 标签调用,首先进入后台–>核心–>频道模型–>内容模型管理–>普通文章(选择你的模型)–>更改–>基本设置–>列表附加字段–>里边是否有值:body。如果没有添加 body 进去,如果有则使用如下代码即可:
<!-- 列表调用 -->
{dede:list pagesize='10' addfields='body'}
[field:body function='cn_substr(html2text(@me),100)'/]
{/dede:list}
{dede:sql sql="SELECT body FROM `dede_addonarticle` where aid = 1"}
[field:body function='cn_substr(html2text(@me),100)'/]
{/dede:sql}
本示例使用 sql 语句从 dede_addonarticle 表调取 body 内容。
1、将表前缀 dede_ 修改为你数据库的表前缀
2、修改 aid=1 中的数字 1 为你要调取内容的文章 ID
使用 loop 标签调用 table 表示附加表 if 表示添加
{dede:loop table='dede_addonarticle' sort='' row='1' if=''}
[field:body/]
{/dede:loop}
这三种方法都可以实现,还有一个小问题就是方法三直接调取 body 的话,html 标记也跟着出来了,如果需要去掉 html 标记只获取其中的文字,我们使用以下字段写法。
[field:body function='cn_substr(@me,400)'/]
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!