public function requireDefaultRecords() { parent::requireDefaultRecords(); if ($this->config()->get("auto_include")) { $check = TemplateOverviewPage::get()->First(); if (!$check) { $page = new TemplateOverviewPage(); $page->ShowInMenus = 0; $page->ShowInSearch = 0; $page->Title = "Templates overview"; $page->PageTitle = "Templates overview"; $page->Sort = 99998; $page->URLSegment = "templates"; $parent = Page::get()->filter(array("URLSegment" => $this->config()->get("parent_url_segment")))->First(); if ($parent) { $page->ParentID = $parent->ID; } $page->writeToStage('Stage'); $page->publish('Stage', 'Live'); $page->URLSegment = "templates"; $page->writeToStage('Stage'); $page->publish('Stage', 'Live'); DB::alteration_message("TemplateOverviewPage", "created"); } } }
function TemplateList() { if (!$this->templateList) { $page = TemplateOverviewPage::get()->First(); if ($page) { $this->templateList = $page->ListOfAllClasses(); } } return $this->templateList; }
/** * returns a lis of all SiteTree Classes * @return Array(String) */ private function listOfAllClasses() { $pages = array(); $list = null; if (class_exists("TemplateOverviewPage")) { $templateOverviewPage = TemplateOverviewPage::get()->First(); if (!$templateOverviewPage) { $templateOverviewPage = singleton("TemplateOverviewPage"); } $list = $templateOverviewPage->ListOfAllClasses(); foreach ($list as $page) { $pages[] = $page->ClassName; } } if (!count($pages)) { $list = ClassInfo::subclassesFor("SiteTree"); foreach ($list as $page) { $pages[] = $page; } } return $pages; }
function onBeforeWrite() { if (!$this->ParentID) { if ($page = TemplateOverviewPage::get()->First()) { $this->ParentID = $page->ID; } } parent::onBeforeWrite(); }