• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dedecms如何在列表页调用body内容字段
    POST TIME:2021-05-23 02:24
    我们都知道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}
    

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!