dedecms在任意页面取得文章标题及正文内容(按字数)

dedecms在任意页面取得文章标题及正文内容(按字数)这功能可是做企业网站必备功能。只适用于 4.0 , 5.X的不适用。

dede5.3.1取正文内容的功能看这里:http://www.copterfly.cn/show-302-1.html

一、dedecms在任意页面取得文章标题

1、在 include/inc_functions.php 里加入如下代码:

//取得某篇文章的标题
function GetTitle($id){
 $sql = "select title from #@__archives where ID = '$id'";
 $dsql = new DedeSql(false);
 $row = $dsql->GetOne($sql);
 return $row['title'];
}

2、模板里用 {dede:field name='title' function='GetTitle(1)' /} 调用。1为你要调用的文章的id。

此功能一般用在企业站首页和关于我们的列表页。

二、dedecms在任意页面取得文章全文内容,含HTML标签格式

1、在 include/inc_functions.php 里加入如下代码:

//某篇文章的正文
function GetBody($aid){
 $sql = "select body from #@__addonarticle where aid = '$aid'";
 $dsql = new DedeSql(false);
 $row = $dsql->GetOne($sql);
 return $row['body'];
}

2、模板里用 {dede:field name='body' function='GetBody(1)' /} 调用。1为你要调用的文章的id。

此功能一般用在企业站关于我们的列表页。(相当于5.3的栏目内容功能)

三、dedecms在任意页面按字数截取某文章内容,不含HTML标签格式

1、在 include/inc_functions.php 里加入如下代码:

//在任意页面取得某篇文章的正文,不含HTML标签,$aid为文章ID,$num为字节数,中文算2字节
function IndexGetBody($aid,$num){
 $sql = "select body from #@__addonarticle where aid = '$aid'";
 $dsql = new DedeSql(false);
 $row = $dsql->GetOne($sql);
 $str = Html2Text($row["body"]);
 $str = cn_substr($str,$num);
 return $str;
}

2、模板里用 {dede:field name='body' function='IndexGetBody(1,600)' /} 调用。1为你要调用的文章的id,600 为字数。

此功能一般用在企业站的首页,用来调用企业简介的前多少多少字数的内容。至于为什么要去掉HTML标签让调用的内容都成为一段呢,因为不去掉的话有些<p>标签截取不完整从而造成页面混乱,如果你非要带HTML标签的话,把 $str = Html2Text($row["body"]); 这句删除即可。

 

Trackbacks: 点击获得Trackback地址,Encode: UTF-8  点击获得Trackback地址,Encode: GB2312 or GBK  点击获得Trackback地址,Encode: BIG5
分类:DedeCms
浏览概况:评论:1 | 阅读:7833
文章评论(1)
[1楼] [引用] [TOP]
37ji 发表于 2009, April 3, 12:25 PM
你也玩DEDE啊,
发表评论
用户名:
密码(游客无需):
网址/E-mail:
      记住我的信息