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"]); 这句删除即可。



