/** * Return blog posts * * @return DataList of BlogPost objects **/ public function getBlogPosts() { $blogPosts = BlogPost::get()->filter("ParentID", $this->ID); //Allow decorators to manipulate list $this->extend('updateGetBlogPosts', $blogPosts); return $blogPosts; }
/** * @return DataList */ public function getFeaturedBlogPosts() { $controller = Controller::curr(); $parameters = $controller->getRequest()->allParams(); $list = BlogPost::get()->filter('ParentID', $this->owner->ID)->filter('IsFeatured', true); if (isset($parameters['Category'])) { $list = $list->filter('Categories.URLSegment', $parameters['Category']); } return $list; }
/** * {@inheritdoc} */ public function updateCMSFields(FieldList $fields) { $excluded = $this->owner->getExcludedSiteTreeClassNames(); if (!empty($excluded)) { $pages = BlogPost::get()->filter(array('ParentID' => $this->owner->ID, 'ClassName' => $excluded)); $gridField = new BlogFilter_GridField('ChildPages', $this->getLumberjackTitle(), $pages, $this->getLumberjackGridFieldConfig()); $tab = new Tab('ChildPages', $this->getLumberjackTitle(), $gridField); $fields->insertBefore($tab, 'Main'); } }
public function testFilter() { $member = Member::currentUser(); if ($member) { $member->logout(); } $count = BlogPost::get()->count(); $this->assertEquals(3, $count, "Filtered blog posts"); SS_Datetime::set_mock_now("2020-01-01 00:00:00"); $count = BlogPost::get()->count(); $this->assertEquals(5, $count, "Unfiltered blog posts"); }
public function getBlogSlicePosts() { if ($this->owner->FeaturedPosts && $this->getFeaturedBlogPost()) { $featured = $this->getFeaturedBlogPost(); $others = BlogPost::get()->exclude('ID', $featured->ID)->limit(2)->sort('PublishDate', 'DESC'); $posts = ArrayList::create(); $posts->push($featured); foreach ($others as $item) { $posts->push($item); } return $posts; } return BlogPost::get()->limit(3)->sort('PublishDate', 'DESC'); }
public function doSavePost($data, $form) { $post = false; if (isset($data['ID']) && $data['ID']) { $post = BlogPost::get()->byID($data['ID']); } if (!$post) { $post = BlogPost::create(); } $form->saveInto($post); $post->ParentID = $this->owner->ID; $this->owner->extend("onBeforeSavePost", $blogentry); $oldMode = Versioned::get_reading_mode(); Versioned::reading_stage('Stage'); $post->write(); $post->publish("Stage", "Live"); Versioned::set_reading_mode($oldMode); $this->owner->extend("onAfterSavePost", $post); $this->owner->redirect($this->owner->Link()); }
/** * Return blog posts. * * @return DataList of BlogPost objects */ public function getBlogPosts() { $blogPosts = BlogPost::get()->filter('ParentID', $this->ID); $this->extend('updateGetBlogPosts', $blogPosts); return $blogPosts; }
public function LatestPost() { return $post = BlogPost::get()->sort("PublishDate", "ASC")->First() ? $post : false; }
public function read() { return ['Post' => BlogPost::get()->byID($this->request->param('ID'))]; }
/** * @return DataList */ public function getFeaturedBlogPosts() { return BlogPost::get()->filter('ParentID', $this->owner->ID)->filter('IsFeatured', true); }
function NextBlogEntry() { return BlogPost::get()->filter(array('ParentID' => $this->owner->ParentID, 'PublishDate:GreaterThan' => $this->owner->PublishDate))->Sort('PublishDate ASC')->First(); }
/** * Return latest blog post. * * @return singel blog post */ public function getLatestPost() { $posts = BlogPost::get()->filter('ParentID', $this->ID); if ($posts->count() > 0) { return $posts->first(); } return false; }