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.
Currently, if there are no anchors found in the page content, the updateAnchorsOnPage extension is not called.
This change will call the updateAnchorsOnPage extension regardless of the page content.
Fixes#2580
The call to `Director::makeRelative` transforms absolute links into relative links. Previously, this meant that you could pass in "https://example.co.nz/about-us" or "about-us" and get the same result, but passing in "https://example.co.nz/" and "/" would give _different_ results.
This commit performs the transformation to a relative link _before_ checking if the path should be for the home page, which leads to more consistent results.