• 注册
  • WordPress后台-外观-小工具 进行配置小工具

  • 查看作者
  • dedecms如何在列表页调用body内容字段

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

  • 0
  • 0
  • 0
  • 6
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 返回顶部
  • 单栏布局 侧栏位置: