dedecms织梦教程如何在列表页调用body内容字段

dedecms织梦教程如何在列表页调用body内容字段

学习教程tuzi2018-10-07 22:46:54A+A-

我们都知道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}


点击这里复制本文地址

声明

本站发布所有广告信息、下载资源,均来自互联网,非本站自制,与本站无关。 如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。


本站中所有资料、资源文件均来自于网络搜索,仅作为技术学习研究之用,请必须在24小时内删除所下载文件,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。


本站保证站内提供的所有可下载资源(软件等等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 


访问本站的用户必须明白,[资源爱好者]对提供下载的软件等不拥有任何权利,其版权归该下载资源的合法拥有者所有。


本站所有资源均不提供相关技术服务,如果源码下载地址失效则请联系站长进行补发。


本站所有资源展现图片仅供参考

资源爱好者 © 本站发布所有资源,均来自互联网,非本站自制,分享目的仅供大家学习与参考,与本站无关。
如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。邮箱:admin?aihao.org
关于我们|广告合作|网站地图|冀ICP备14009590号|