教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 开源代码 > cms教程 >

dedecms如何在不同页面调出body字段内容

时间:2012-03-30 14:28来源:未知 作者:ken 点击:

织梦默认body只能在列表页调用,但是有时候因为制作织梦模板的需要,可能会在其他地方也有调用,那怎么在这些地方获取body的内容呢?
我们可以用截取文章前100个字作为文章简介,这里要组合使用用两个函数cn_substr和html2text,对文章转义后截取。
但是如果直接使用:[field:body function="cn_substr(html2text(@me),200)"/]调用的话,是肯定不行的,因为body和description不在同一张表里。
所以只好从织梦程序上入手了。站长教学网 eduyo.com

打开织梦目录include文件下extend.func.php添加以下代码:

//获取单篇文档body
function GetOneArchiveBody($aid,$length)
{
 global $dsql;
 $aid = trim(ereg_replace('[^0-9]','',$aid));
 $body = '';

    $query = " Select art.body From `eduyo_addonarticle` art, `eduyo_archives` arc where art.aid='$aid' and art.aid=arc.id ";


 $arcRow = $dsql->GetOne($query);

 if(!is_array($arcRow)) {
  return $body;
 }
if(isset($arcRow['body'])) {
  $body = cn_substr(html2text($arcRow['body']),$length);
 }
return $body;

}

在前台织梦模板列表页的调用:

{dede:list pagesize='10'}
            <dl class="gamelistA">
                <dt><a href="[field:arcurl/]">[field:title/]</a></dt>
                <dd class="h60 font09">[field:id function="GetOneArchiveBody(@me,200)"/]...</dd>
                <dd class="patb10 font08">作者:[field:writer/]
    发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评 论:[field:scores/] 点击:[field:click /]</dd>
            </dl>
{/dede:list}
OK,这样就可以方便的在织梦模板首页或者列表页调用文章内容body字段的内容了!

(责任编辑:ken)
TAG标签: substr dedecms 调用 body 截取
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容