【问题标题】:SilverStripe: Latest Blog Posts Content BlockSilverStripe:最新博客文章内容块
【发布时间】:2016-07-08 03:07:27
【问题描述】:

我正在使用 SheaDawson 的 blocks module,并且正在尝试创建“最新博客文章”内容块。这是我的数据对象:

<?php

class LatestBlogPosts extends Block {
    private static $db = array(
        'ContainInGrid' => 'Boolean',
        'PostCount' => 'Int'
    );

    static $defaults = array(
        "PostCount" => 2
    );

    function getCMSFields() {
        $fields = parent::getCMSFields();
        return $fields;
    }

    public function LatestPosts() {
        $blog = DataObject::get("BlogEntry", "", "Date DESC", "", $this->PostCount);
        return $blog;
    }
}

在页面模板上它没有显示任何帖子。它说它找不到任何东西。当我检查数据库时,BlogEntry 表是空的,即使我有两个帖子已发布。

我该如何解决这个问题?

【问题讨论】:

    标签: php content-management-system silverstripe


    【解决方案1】:

    在最新版本的SilverStripe blog module 中,博客条目类被命名为BlogPostBlogEntry 是以前的班级,但在 2015 年的某个时候发生了变化。

    如果您使用的是最新版本的博客模块,您的博客条目将创建为 BlogPosts,并且该数据将在 BlogPost 数据库表中。

    您的LatestPosts 函数应如下所示:

    public function LatestPosts() {
        return BlogPost::get()->sort('Date', 'DESC')->limit($this->PostCount);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多