Source of file FaqHolderPageController.php
Size: 2,131 Bytes - Last Modified: 2021-12-23T10:41:37+00:00
/var/www/docs.ssmods.com/process/src/src/FaqHolderPageController.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | <?php namespace Sunnysideup\Faqs; use PageController; use SilverStripe\Versioned\Versioned; use SilverStripe\View\Requirements; class FaqHolderPageController extends PageController { /** * returns all underlying FaqOnePage pages... * for use in templates. * * @return null|\SilverStripe\ORM\DataList */ public function Entries() { $array = [$this->ID => $this->ID]; $childGroups = $this->ChildGroups(4); if ($childGroups) { if ($childGroups->exists()) { foreach ($childGroups->map('ID', 'ID') as $id) { $array[$id] = $id; } } } $stage = ''; if ('Live' === Versioned::get_stage()) { $stage = '_Live'; } $className = $this->dataRecord->getEntryName(); return $className::get() ->filter(['ParentID' => $array, 'ShowInSearch' => 1]) ->leftJoin('SiteTree' . $stage, 'SiteTree' . $stage . '.ParentID = MyParent.ID', 'MyParent') ->leftJoin('SiteTree' . $stage, 'MyParent.ParentID = MyGrandParent.ID', 'MyGrandParent') ->leftJoin('SiteTree' . $stage, 'MyGrandParent.ParentID = MyGreatGrandParent.ID', 'MyGreatGrandParent') ->leftJoin('SiteTree' . $stage, 'MyGreatGrandParent.ParentID = MyGreatGreatGrandParent.ID', 'MyGreatGreatGrandParent') ->sort( ' MyGreatGreatGrandParent.Sort, MyGreatGrandParent.Sort, MyGrandParent.Sort, MyParent.Sort, SiteTree' . $stage . '.Sort' ) ; } public function MyParentHolder() { $className = $this->dataRecord->getHolderPage(); return $className::get_by_id($this->ParentID); } protected function init() { parent::init(); Requirements::javascript('silverstripe/admin: thirdparty/jquery/jquery.js'); Requirements::javascript('sunnysideup/faqs: client/javascript/FaqHolderPage.js'); Requirements::themedCSS('client/css/FaqHolderPage'); } } |