Source of file NavVariation.php
Size: 1,393 Bytes - Last Modified: 2021-12-23T10:33:31+00:00
/var/www/docs.ssmods.com/process/src/code/variation/NavVariation.php
12345678910111213141516171819202122232425262728293031323334353637383940414243 | <?php /** * Basic implementation of Navigation Items Variation * */ class NavVariation extends PersonalisationVariation { public static $db = array( "IncludeBasicTemplate" => "Boolean" ); public static $many_many = array( "NavItems" => "SiteTree" ); public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('NavItems'); $fields->addFieldToTab("Root.NavItems", new CheckboxField("IncludeBasicTemplate", "Include Basic Template - Returns component set if false.", $this->IncludeBasicTemplate)); $fields->addFieldToTab("Root.NavItems", new TreeMultiselectField("NavItems", "Select items to include in navigation items", "SiteTree", "ID")); $navField = new ReadonlyField('Variation', 'Variation', 'Navigation items can be added after you have saved for the first time'); $fields->push($navField); return $fields; } public function render(ContextProvider $context, Controller $controller = null) { if (!$this->IncludeBasicTemplate) { return $this->NavItems(); } else { if ($this->NavItems()->Count() > 0) { return $controller->customise(array("NavItems" => $this->NavItems()))->renderWith('NavItemsVariation'); } else { return null; } } } } |