diff --git a/code/Model/SiteTree.php b/code/Model/SiteTree.php index 45c6dd86ad..c914eafab2 100755 --- a/code/Model/SiteTree.php +++ b/code/Model/SiteTree.php @@ -319,6 +319,15 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi "Stage", "Live" ]; + /** + * Fields which, if changed on their own, won't cause a new version/live record to be created + * @var string[] + */ + private static array $fields_ignored_by_versioning = [ + 'HasBrokenFile', + 'HasBrokenLink', + ]; + private static $default_sort = "\"Sort\""; /** @@ -1629,7 +1638,7 @@ public function requireDefaultRecords() if (!SiteTree::get_by_link($defaultHomepage)) { $homepage = new Page(); $homepage->Title = _t(__CLASS__.'.DEFAULTHOMETITLE', 'Home'); - $homepage->Content = _t(__CLASS__.'.DEFAULTHOMECONTENT', '

Welcome to SilverStripe! This is the default homepage. You can edit this page by opening the CMS.

You can now access the developer documentation, or begin the SilverStripe lessons.

'); + $homepage->Content = _t(__CLASS__.'.DEFAULTHOMECONTENT2', '

Welcome to Silverstripe! This is the default homepage. You can edit this page by opening the CMS.

For comprehensive information on Silverstripe CMS, see the developer documentation.

'); $homepage->URLSegment = $defaultHomepage; $homepage->Sort = 1; $homepage->write(); @@ -1722,7 +1731,7 @@ protected function onBeforeWrite() } // Check to see if we've only altered fields that shouldn't affect versioning - $fieldsIgnoredByVersioning = ['HasBrokenLink', 'Status', 'HasBrokenFile', 'ToDo', 'VersionID', 'SaveCount']; + $fieldsIgnoredByVersioning = $this->config()->get('fields_ignored_by_versioning') ?? []; $changedFields = array_keys($this->getChangedFields(true, 2) ?? []); // This more rigorous check is inline with the test that write() does to decide whether or not to write to the diff --git a/lang/en.yml b/lang/en.yml index c2ba9f82bc..3c012c9c37 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -195,6 +195,7 @@ en: DEFAULTCONTACTCONTENT: '

You can fill this page out with your own content, or delete it and create your own pages.

' DEFAULTCONTACTTITLE: 'Contact Us' DEFAULTHOMECONTENT: '

Welcome to SilverStripe! This is the default homepage. You can edit this page by opening the CMS.

You can now access the developer documentation, or begin the SilverStripe lessons.

' + DEFAULTHOMECONTENT2: '

Welcome to Silverstripe! This is the default homepage. You can edit this page by opening the CMS.

For comprehensive information on Silverstripe CMS, see the developer documentation.

' DEFAULTHOMETITLE: Home DEPENDENT_NOTE: 'The following pages depend on this page. This includes virtual pages, redirector pages, and pages with content links.' DESCRIPTION: 'Generic content page'