Source of file PortfolioHolder.php
Size: 2,174 Bytes - Last Modified: 2021-12-23T10:19:24+00:00
/var/www/docs.ssmods.com/process/src/code/Modules/Portfolio/code/PortfolioHolder.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | <?php /** * Class PortfolioHolder * * @property int Items * @mixin Hierarchy */ class PortfolioHolder extends Page { /** * @var string */ private static $icon = 'boilerplate/code/Modules/Portfolio/images/blogs-stack.png'; /** * @var array */ private static $db = array( 'Items' => 'Int' ); /** * @var array */ private static $allowed_children = array('PortfolioPage'); /** * @var string */ private static $description = 'Displays all portfolio 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('PortfolioHolder.Items', 'Items')), 'Content'); $items->setRightTitle(_t('PortfolioHolder.ItemsRightTitle', 'Items outside of this limit will be displayed in a paginated list i.e "Page 1 - 2 - 3."')); return $fields; } /** * Return a ArrayList of all blog children of this page. * * @param SS_HTTPRequest $request * @return array|HTMLText * @throws Exception */ public function index(SS_HTTPRequest $request) { /** @var PaginatedList $pagination */ $pagination = PaginatedList::create($this->liveChildren(true), Controller::curr()->request); $items = ($this->Items > 0 ? $this->Items : 10); $pagination->setPageLength($items); $data = array( 'PaginatedPages' => $pagination ); if ($request->isAjax()) { return $this->customise($data) ->renderWith('PortfolioHolder_Item'); } return $data; } } /** * Class PortfolioHolder_Controller */ class PortfolioHolder_Controller extends Page_Controller { } |