With the CMS 4.12 update functionality was altered to utilise an
Extension to obtain the CMS Edit link for a page, rather than having
SiteTree do it internally. Unfortunately the default return case for
`extend` (see Extensible) is an _empty_ array. This leave code
potentially referencing an array offset that doesn't exist ([0]). PHP 8
is less forgiving that it's predecessors on this kind of behaviour. We
should check that the responses from extensions exist before trying to
reference them.
+ Created an extension to add the `BatchActionParameters` fields from CMSMain to the `BatchActionsForm` in LeftAndMain
+ Applied the extension to LeftAndMain using YAML
+ Fixed the $batchActions variable by making it use the `registeredActions()` method
+ Made the loop use `FieldHolder` instead of `Field` so CMS fields display correctly
+ Added hidden styles to the batch action div for jQuery show/hide functionality (found in Admin module PR)
GridFieldComponents packaged with silverstripe/framework are injectable as of 4.11.0
Explicitly invoking the injector here instead of using `create()` allows backwards compatability with framework < 4.11.0 while ensuring dependency injection is still used from 4.11.0 onwards.
Currently only Versioned DataObjects are enabled for the CMS preview.
Without a navigator item, non-versioned DataObjects aren't allowed to
display in the preview panel even if they implement CMSPreviewable.
Currently, the SiteTreeLinkTracking_Parser only checks the page's content for anchors.
As a result, any anchors that have been added or modified by the updateAnchorsOnPage extension in the getAnchorsOnPage method are marked ss-broken.
This change updates SiteTreeLinkTracking_Parser to get the anchors from the getAnchorsOnPage function on SiteTree. This will allow for more consistent RegEx matching and allow the updateAnchorsOnPage extension to be used when checking for broken links.