各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > dedecms

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

管理员 2018-08-18
dedecms
102
我们都知道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添加以下代码:  
//获取单篇文档bodyfunction 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}

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

扫码关注

qrcode

QQ交谈

回顶部