SilverStripe:最新博客帖子内容块

时间:2016-07-08 03:07:27

标签: php content-management-system silverstripe

我正在使用SheaDawson的blocks module,而我正试图创建一个"最新博客文章"内容块。这是我的DataObject:

<?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表为空,即使我有两个已发布的帖子。

如何解决此问题?

1 个答案:

答案 0 :(得分:4)

在最新版本的SilverStripe blog module中,博客条目类名为BlogPostSerialHandler::AsyncReadSome()是以前的课程,但这在2015年的某个时候发生了变化。

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

您的BlogPost功能应如下所示:

LatestPosts