Source of file BlogHolder.php
Size: 3,141 Bytes - Last Modified: 2021-12-23T10:19:24+00:00
/var/www/docs.ssmods.com/process/src/code/Modules/Blog/code/BlogHolder.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 | <?php /** * Class BlogHolder * * @property string BlogSidebarContent * @property string Items * * @mixin Hierarchy */ class BlogHolder extends Page { /** * @var string */ private static $icon = 'boilerplate/code/Modules/Blog/images/blogs-stack.png'; /** * @var array */ private static $db = array( 'BlogSidebarContent' => 'HTMLText', 'Items' => 'Int' ); /** * @var array */ private static $allowed_children = array('BlogPage'); /** * @var string */ private static $description = 'Displays all blog child pages'; /** * @var array */ private static $defaults = array( 'Items' => 10 ); /** * @return FieldList */ public function getCMSFields() { /** @var FieldList $fields */ $fields = parent::getCMSFields(); /** ----------------------------------------- * Fields * ----------------------------------------*/ /** @var NumericField $items */ $fields->addFieldToTab('Root.Main', $items = NumericField::create('Items', _t('BlogHolder.Items', 'Items')), 'Content'); $items->setRightTitle(_t('BlogHolder.ItemsRightTitle', 'Items outside of this limit will be displayed in a paginated list i.e "Page 1 - 2 - 3."')); /** ----------------------------------------- * Blog Sidebar * ----------------------------------------*/ $fields->addFieldToTab('Root.BlogSidebar', HeaderField::create('BlogSideBarHeading', _t('BlogHolder.BlogSideBarHeading', 'Blog Sidebar'))); $fields->addFieldToTab('Root.BlogSidebar', LiteralField::create('BlogSideBarDescription', _t('BlogHolder.BlogSideBarDescription', '<p>The content will be displayed at the top of the sidebar.</p>') )); /** @var HtmlEditorField $blogSidebarContent */ $fields->addFieldToTab('Root.BlogSidebar', $blogSidebarContent = HtmlEditorField::create('BlogSidebarContent', _t('BlogHolder.BlogSidebarContent', 'Content (optional)'))); $blogSidebarContent->setRows(10); return $fields; } /** * @param SS_HTTPRequest $request * @return array|HTMLText */ public function index(SS_HTTPRequest $request) { /** * Return a ArrayList of all BlogPage children of this page. * * @return PaginatedList */ $pagination = PaginatedList::create($this->liveChildren(true), Controller::curr()->request); $items = ($this->Items > 0 ? $this->Items : 10); /** @var PaginatedList $pagination */ $pagination->setPageLength($items); $data = array( 'PaginatedPages' => $pagination ); /** If the request is AJAX */ if ($request->isAjax()) { return $this->customise($data) ->renderWith('BlogHolder_Item'); } return $data; } } /** * Class BlogHolder_Controller */ class BlogHolder_Controller extends Page_Controller { } |