加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

dedecms怎样在列表页调用body内容字段的方法示例

发布时间:2022-04-30 11:21:12 所属栏目:经验 来源:互联网
导读:我们都知道description的优化和seo也是息息相关的,对于seo新手来说往往没有这一方面的经验,不写description可能效果更好,但是不写description会出现一个问题,那就是无法在文章列表页调出文章的简介。 比如下列代码: {dede:list pagesize=10} [field:tit
        我们都知道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}
以上就是本文的全部内容,希望对大家的学习有所帮助。

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!