Example #1
0
 /**
  * Get and parse view collection from page header.
  *
  * @param $page
  * @return mixed
  */
 private function getCollection($page)
 {
     // Get vars.
     $reference = isset($page->header()->view['reference']) ? $page->header()->view['reference'] : '/';
     $params = isset($page->header()->view['params']) ? $page->header()->view['params'] : 'content';
     $filter = isset($page->header()->view['filter']) ? $page->header()->view['filter'] : false;
     $pagination = isset($params['pagination']) ? $params['pagination'] : false;
     // Check if reference root.
     if ($reference !== '/') {
         // Set the reference page, used for filtering.
         $this->reference = $page->find($reference);
         /* @var Collection $collection */
         $collection = $this->reference->collection($params, $pagination);
     } else {
         /* @var Collection $collection */
         $collection = $page->collection($params, $pagination);
     }
     // Filter the page collection.
     if ($collection && $filter) {
         /* @var Collection $collection */
         $collection = $collection->filter(array($this, 'filter'));
     }
     return $collection;
 }