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;
 }
コード例 #3
0
 /**
  * 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();
 }