SilverStripe:最新博客帖子内容区域
问题描述:
我正在使用SheaDawson的blocks module,我试图创建一个“最新的博客文章”内容块。这是我的数据对象:SilverStripe:最新博客帖子内容区域
<?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
表是空的,即使我有两篇文章发布。
如何解决此问题?
答
在SilverStripe blog module的最新版本中,博客入门级别名为BlogPost
。 BlogEntry
是用什么类是,但如果您使用的是最新版本的博客模块您的博客条目会BlogPost
s为单位创造了这个在2015年
某个时候发生变化,该数据将在BlogPost
数据库表。
你LatestPosts
功能应该是这样的:
public function LatestPosts() {
return BlogPost::get()->sort('Date', 'DESC')->limit($this->PostCount);
}