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

2019-04-15 07:59:16 织梦安装使用
  • 文章介绍
我们都知道description的优化和seo也是息息相关的,对于seo新手来说往往没有这一方面的经验,不写description可能效果更好,但是不写description会出现一个问题,那就是无法在文章列表页调出文章的简介。
 
比如下列代码:
 
1 {dede:list pagesize='10'}
2 [field:title/]
3 [field:description/]...
4 作者:[field:writer/]
5 发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/]
6 {/dede:list}
 
因为没写description这个时候文章简介就会显示空白,严重影响了页面的美观和功用性。
 
下面是我的一些解决方法。
 
我们可以用截取文章前100个字作为文章简介,这里要组合使用用两个函数cn_substr和html2text,对文章转义后截取。测试代码:[field:body function="cn_substr(html2text(@me),200)"/],结果发现还是不行,因为body和description不在同一张表里。所以只好从程序上入手了。
 
打开include文件下extend.func.php添加以下代码:
 
01 //获取单篇文档body
02 function GetOneArchiveBody($aid,$length)
03 {
04 global $dsql;
05 $aid = trim(ereg_replace('[^0-9]','',$aid));
06 $body = '';
07 $query = " Select art.body From `dede_addonarticle` art, `dede_archives` arc where art.aid='$aid' and art.aid=arc.id ";
08 $arcRow = $dsql->GetOne($query);
09 if(!is_array($arcRow)) {
10 return $body;
11 }
12 if(isset($arcRow['body'])) {
13 $body = cn_substr(html2text($arcRow['body']),$length);
14 }
15 return $body;
16 }
在前台模板调用:
 
1 {dede:list pagesize='10'}
2 [field:title/]
3 [field:id function="GetOneArchiveBody(@me,200)"/]...
4 作者:[field:writer/]
5 发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/]
6 {/dede:list}

上一篇:没有了

下一篇:html5点击按钮酷炫云雾动画弹出文字..

相关文档推荐

精品模板推荐

专业的织梦模板定制下载站,在线购买后即可下载!

商业源码

跟版网模板,累计帮助5000+客户企业成功建站,为草根创业提供助力!

立刻开启你的建站之旅

QQ在线客服

服务热线

织梦建站咨询