找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 156|回复: 0

[cms教程] dedecms如何在列表页调用body内容字段

[复制链接]

该用户从未签到

发表于 2021-5-16 10:26:13 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

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

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-10 03:25

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表