DedeCMS织梦

DedeCMS织梦列表页调用body内容

阿里云

我们都知道 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 添加以下代码:

  1. //获取单篇文档body
  2. function GetOneArchiveBody($aid,$length)
  3. {
  4. global $dsql;
  5. $aid = trim(ereg_replace('[^0-9]','',$aid));
  6. $body = '';
  7. $query = " Select art.body From `dede_addonarticle` art, `dede_archives` arc where art.aid='$aid' and art.aid=arc.id ";
  8. $arcRow = $dsql->GetOne($query);
  9. 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}

DedeCMS 织梦列表页调用 body 内容

已有 421 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!