/** * Instantiate a search page, should one not exist. */ public function requireDefaultRecords() { parent::requireDefaultRecords(); $mode = Versioned::get_reading_mode(); Versioned::reading_stage('Stage'); // Determine whether pages should be created. if (self::config()->create_default_pages) { // Determine whether an extensible search page already exists. if (!ExtensibleSearchPage::get()->first()) { // Instantiate an extensible search page. $page = ExtensibleSearchPage::create(); $page->Title = 'Search Page'; $page->write(); DB::alteration_message('"Default" Extensible Search Page', 'created'); } } else { if (ClassInfo::exists('Multisites')) { foreach (Site::get() as $site) { // Determine whether an extensible search page already exists. if (!ExtensibleSearchPage::get()->filter('SiteID', $site->ID)->first()) { // Instantiate an extensible search page. $page = ExtensibleSearchPage::create(); $page->ParentID = $site->ID; $page->Title = 'Search Page'; $page->write(); DB::alteration_message("\"{$site->Title}\" Extensible Search Page", 'created'); } } } } Versioned::set_reading_mode($mode); }
/** * Retrieve the search page. * * @return extensible search page */ public function getSearchPage() { $pages = ExtensibleSearchPage::get(); // This is required to support multiple sites. if (ClassInfo::exists('Multisites')) { $pages = $pages->filter('SiteID', $this->owner->SiteID); } return $pages->first(); }
/** * Returns the default search page for this site * * @return ExtensibleSearchPage */ public function getSearchPage() { $page = ExtensibleSearchPage::get(); if (class_exists('Multisites')) { $siteID = Multisites::inst()->getCurrentSiteId(); $page = $page->filter('SiteID', $siteID); } return $page->first(); }