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'