dedecms如何在列表页调用body内容字段

我们都知道description的优化和seo也是息息相关的,对于seo新手来说往往没有这一方面的经验,不写description可能效果更好,但是不写description会出现一个问题,那就是无法在文章列表页调出文章的简介。 比如下列代码: {dede:list pagesize=10}[field:titl
我们都知道description的优化和seo也是息息相关的,对于seo新手来说往往没有这一方面的经验,不写description可能效果更好,但是不写description会出现一个问题,那就是无法在文章列表页调出文章的简介。
 
比如下列代码:
 
{dede:list pagesize='10'}
[field:title/]
[field:description/]...
作者:[field:writer/]
发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/]
{/dede:list}
 
因为没写description这个时候文章简介就会显示空白,严重影响了页面的美观和功用性。
 
下面是我的一些解决方法。
 
我们可以用截取文章前100个字作为文章简介,这里要组合使用用两个函数cn_substr和html2text,对文章转义后截取。测试代码:[field:body function="cn_substr(html2text(@me),200)"/],结果发现还是不行,因为body和description不在同一张表里。所以只好从程序上入手了。
 
打开include文件下extend.func.php添加以下代码:
 
//获取单篇文档body
function GetOneArchiveBody($aid,$length)
{
global $dsql;
$aid = trim(ereg_replace('[^0-9]','',$aid));
$body = '';
$query = " Select art.body From `dede_addonarticle` art, `dede_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'}
[field:title/]
[field:id function="GetOneArchiveBody(@me,200)"/]...
作者:[field:writer/]
发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/]
{/dede:list}

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

织梦如何调用会员详细信息: 在include/extend.func.php function GetMemberInfos($fields,$mid){ global $dsql; if($mid = 0){ $revalue = Error; } else{ $row=$dsql-GetOne(sele ct * from dede_member_person where mid ={$mid}); if(!is_array($row)){
在优化织梦DeDeCMS的个人博客时往往需要进行二次开发,在发表图集和文章时总是没发表一篇就要去更改文章作者和来源,操作繁琐非常麻烦,能简单就简单,无非就是修改织梦DeDeCMS图集与文章的默认来源于作者,开始之前需要提到的是图集发布于文章发布相关的文
织梦dedecms系统arclist标签noflag属性默认是只能过滤一个参数,比如过滤推荐是noflag=c,过滤有图片的文章是noflag=c,在模板制作过程中,有时候我们为了seo和避免重复,需要过滤多个参数。今天小编就来跟大家讲讲织梦dedecms系统noflag过滤多个参数。 打开
dedecms修改后台编辑器参数GetEditor dedecms通过include/helpers/util.helper.php function GetEditor($fname, $fvalue, $nheight=350, $etype=Basic, $gtype=print, $isfullpage=FALSE) 函数调用文本编辑器,个个参数可参考该方法的注释信息, * 获取编辑器
我们在调用封面页的时候,需要循环输出封面栏目下的子栏目以及子栏目下的文档,这个要怎么操作呢? 代码如下: {dede:channelartlist row=10} dl dta href={dede:field name=typeurl/}{dede:field name=typename/}/a/dt dd {dede:arclist titlelen=42 row=10}
相信大家都遇到过,我们在使用织梦dedecms系统程序开发网站中,会遇到很多因网页版面设计限定的宽度,使文章标题需要进行字数限制,通常做法是在a标签中加入一个title属性,让鼠标放上去的时候显示完整标题。但是标题被剪裁掉一些字符而不完整,下面小编就为