欢迎来到入门教程网!

dedecms

当前位置:主页 > CMS教程 > dedecms >

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

来源:本站原创|时间:2021-08-05|栏目:dedecms|点击:

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

//获取单篇文档body

function 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}

上一篇:织梦模板runphp=yes标签里面嵌套sql语句的教程

栏    目:dedecms

下一篇:织梦模板dede:php标签怎么用?是什么意义?

本文标题:dedecms如何在列表页调用body内容字段

本文地址:https://www.xiuzhanwang.com/a1/dedecms/13642.html

更多dedecms

您可能感兴趣的文章

阅读排行

本栏相关

随机阅读

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有