- 13 Jan, 2022 1 commit
-
-
This introduces a new PSR-14 event, enabling extension authors to modify the header and footer content of the page module in a flexible way, since also reordering and overwriting is possible now. This replaces the previously available hooks - $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/db_layout.php']['drawHeaderHook'] - $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/db_layout.php']['drawFooterHook'] which are now removed. Resolves: #96526 Releases: main Change-Id: I5fb3f3098394b70ecc4e5cc11c804f7125ad2a4a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73003 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
- 12 Jan, 2022 1 commit
-
-
Christian Kuhn authored
This patch introduces a new EXT:fluid view class "BackendTemplateView" to be used as main view for backend-related non-Extbase views. This class is the base of a new non-Extbase and non-request dependent backend view. The class is for now marked @internal and experimental since we'll probably add a factory to configure backend template overrides for any backend view later-on. A few ViewHelpers are changed to work without accessing the request if enough VH arguments are provided. This is the first patch in a series of patches that will switch from StandaloneView usages in backend controllers to this new BackendTemplateView. Basic strategy: * $view->getRequest()->setControllerExtensionName('SysNote') is removed. This is Extbase-specific and not needed nor wanted for common non-Extbase controllers. * Instantiate the View (for now with makeInstance, will be replaced with a factory later-on) * Set the needed paths via ->setTemplateRootPaths() etc. For these, we *always* use the main extension's entry templating paths, for instance 'EXT:sys_note/Resources/Private/Templates' or 'EXT:sys_note/Resources/Private/Partials'. We do *not* use sub directories here to clear up path logic. * ->assign() / ->assignMultiple() whatever is needed. * ->render('SubDirectory/TemplateName') the actual action / template, no '.html' suffix. As a demo, EXT:sys_note is adapted accordingly which hands over arguments to the above mentioned VH's in a way so these don't access the request object anymore. The sys_note code gets a couple of additional changes so the hooks can prepare request dependent arguments and set them as template variables (here: returnUrl). This patch triggers a hidden gem: Since ViewHelpers no longer receive an Extbase request, they also don't trigger Extbase magic anymore. The casual victim here is f:translate, which has already been prepared to not trigger Extbase's frontend TypoScript parsing if there is no Extbase request. This often improves backend view performance by 25% or more, depending on the amount of frontend TypoScript to parse. Further patches will adapt other core backend routes and will relate to this patch for reference. Change-Id: I4fec3ad690452a00e731c9f6928273048397dd89 Resolves: #96513 Related: #96473 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72966 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 30 Aug, 2020 1 commit
-
-
The following hooks in the RecordListController are used to add additional content above or below the main controller content: * $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['recordlist/Modules/Recordlist/index.php']['drawHeaderHook'] * $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['recordlist/Modules/Recordlist/index.php']['drawFooterHook'] As this functionality could be useful, it should be migrated to a PSR-14 event. Both hook implementations use a meaningful parameter set (the request object) and return the additional content as string. As there is no dependency to the parent object (the class instance of the class where the hooks are placed), they could be migrated to a psr-14 event without a breaking change. Therefore, a PSR-14 event has been implemented to replace the hook functionality. An event listener has been created to provide a compatibility layer for both hooks. This allows a proper deprecation without breaking the hooks. The event listener (compatibility layer) could be removed in later versions without any changes in the controller class. Releases: master Resolves: #92062 Change-Id: I50e4897bae256ec165861bccd8356db107c78962 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65401 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-