-
Christian Kuhn authored
With the refactoring of the '3rd level' backend module API, we can finally clean up the Template related backend controllers. Notable UI changes: * There was a rather hidden functionality in the template module: The "Template record overview" that lists all pages that have sys_template records, is only rendered when the root page "Page zero" is selected. This can be hard to find and is contrary to all other backend modules where sub-functionality is selected using the drop down in the doc header. The patch changes this: The template record overview is now always shown as 5th element in the drop down. It currently renders the same output on all pages, but could be made page-aware later. * The TypoScript Object Browser has a detail view to edit single properties, which then write to a sys_template record. This view also allows to add the edited path to an "Object List" if it has sub properties. This is remembered for the given user. The user can then select this path in the object browser tree view to limit the view to this section of the tree. All in all, this is a rather hidden and pretty much unknown detail functionality of limited use. This functionality has been removed. Patch overview: * Implement the "Template record overview" as new controller. * Resolve "controller extends controller" inheritance and introduce an abstract controller with common methods of client classes. Methods don't add class state. * Heavily reduce class state to a minimum. * Improve separation of controller and view concerns. * Split some templates to partials. * Leverage dependency incjection correctly: Abstract uses inject* methods, client classes use constructor DI. * Remove user access checks since the entire Template module is 'admin only', which is checked by middlewares. * Various general clean ups, variable renamings, better structured methods. Change-Id: I64cb7ea6275af491233ff7ee525c9260e5da6627 Resolves: #97591 Related: #97135 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74550 Tested-by: core-ci <typo3@b13.com> Tested-by: Stefan Bürk <stefan@buerk.tech> Tested-by: Jochen <rothjochen@gmail.com> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Jochen <rothjochen@gmail.com> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
5399ea63