Source of file XMLSitemap.php
Size: 1,201 Bytes - Last Modified: 2021-12-23T10:49:11+00:00
/var/www/docs.ssmods.com/process/src/code/XMLSitemap.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | <?php use SilverStripe\CMS\Model\SiteTree; use SilverStripe\ORM\DB; class XMLSitemap extends Page{ private static $allowed_children = 'none'; private static $description = 'Adds an XML sitemap generated from the site tree'; private static $icon = 'sitemap/images/sitemap.png'; private static $db = []; private static $has_one = []; private static $defaults = [ 'ShowInMenus' => 0, 'Sort' => 10001 ]; public function getCMSFields(){ $fields = parent::getCMSFields(); $fields->removeByName('Content'); $fields->removeByName('Metadata'); return $fields; } /** * Add default record to database * */ public function requireDefaultRecords() { parent::requireDefaultRecords(); // if xml sitemap page does not exist if(static::class == self::class && $this->config()->create_default_pages) { if( !XMLSitemap::get()->first() ){ $XMLSitemap = new XMLSitemap(); $XMLSitemap->Title = 'XML Sitemap'; $XMLSitemap->Content = ''; $XMLSitemap->URLSegment = 'sitemap'; $XMLSitemap->write(); $XMLSitemap->publish('Stage', 'Live'); $XMLSitemap->flushCache(); DB::alteration_message('Sitemap XML page created', 'created'); } } } } |