[TASK] Avoid misusing element browser for link handler concerns
This resolves a mixup in ext:recordlist: The "Browser" classes are the "element browser" modals, used when adding FAL images to records and when adding relations for type="group". The "LinkHandler" classes are a distinct construct used to create the "t3://" syntax when linking record fields and RTE text to a page, telephone, external URL and so on. They are rendered as single tabs in the link handler modal. Class LinkHandler/RecordLinkHandler allows linking to arbitrary records. Typical example is linking to single ext:news records, which can be configured using PageTsConfig TCEMAIN.linkHandler. Class LinkHandler/RecordLinkHandler misuses the element browser abstraction to list records. This materializes in class Browser/RecordBrowser, which is not used as element browser as such, but is just a client class of LinkHandler/RecordLinkHandler. The two class namespaces however shouldn't interfere with each other. The patch resolves this by moving the code from Browser/RecordBrowser into LinkHandler/RecordLinkHandler and streamlining it to what is really needed. A series of changed and added comments should improve the overall constructs along the way. Resolves: #97957 Related: #66373 Related: #97188 Related: #96639 Releases: main Change-Id: I3028ce439e6ae68c4ed34c0c560b4980dad6ac29 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75205 Tested-by:Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
Showing
- typo3/sysext/recordlist/Classes/Browser/AbstractElementBrowser.php 1 addition, 1 deletion...ext/recordlist/Classes/Browser/AbstractElementBrowser.php
- typo3/sysext/recordlist/Classes/Browser/DatabaseBrowser.php 1 addition, 1 deletiontypo3/sysext/recordlist/Classes/Browser/DatabaseBrowser.php
- typo3/sysext/recordlist/Classes/Browser/ElementBrowserInterface.php 7 additions, 0 deletions...xt/recordlist/Classes/Browser/ElementBrowserInterface.php
- typo3/sysext/recordlist/Classes/Browser/FolderBrowser.php 1 addition, 1 deletiontypo3/sysext/recordlist/Classes/Browser/FolderBrowser.php
- typo3/sysext/recordlist/Classes/Browser/RecordBrowser.php 0 additions, 78 deletionstypo3/sysext/recordlist/Classes/Browser/RecordBrowser.php
- typo3/sysext/recordlist/Classes/LinkHandler/AbstractLinkHandler.php 1 addition, 11 deletions...xt/recordlist/Classes/LinkHandler/AbstractLinkHandler.php
- typo3/sysext/recordlist/Classes/LinkHandler/FileLinkHandler.php 2 additions, 1 deletion...sysext/recordlist/Classes/LinkHandler/FileLinkHandler.php
- typo3/sysext/recordlist/Classes/LinkHandler/FolderLinkHandler.php 2 additions, 1 deletion...sext/recordlist/Classes/LinkHandler/FolderLinkHandler.php
- typo3/sysext/recordlist/Classes/LinkHandler/LinkHandlerInterface.php 13 additions, 2 deletions...t/recordlist/Classes/LinkHandler/LinkHandlerInterface.php
- typo3/sysext/recordlist/Classes/LinkHandler/MailLinkHandler.php 2 additions, 1 deletion...sysext/recordlist/Classes/LinkHandler/MailLinkHandler.php
- typo3/sysext/recordlist/Classes/LinkHandler/PageLinkHandler.php 2 additions, 1 deletion...sysext/recordlist/Classes/LinkHandler/PageLinkHandler.php
- typo3/sysext/recordlist/Classes/LinkHandler/RecordLinkHandler.php 108 additions, 41 deletions...sext/recordlist/Classes/LinkHandler/RecordLinkHandler.php
- typo3/sysext/recordlist/Classes/LinkHandler/TelephoneLinkHandler.php 2 additions, 1 deletion...t/recordlist/Classes/LinkHandler/TelephoneLinkHandler.php
- typo3/sysext/recordlist/Classes/LinkHandler/UrlLinkHandler.php 2 additions, 1 deletion.../sysext/recordlist/Classes/LinkHandler/UrlLinkHandler.php
- typo3/sysext/recordlist/Configuration/Services.yaml 4 additions, 0 deletionstypo3/sysext/recordlist/Configuration/Services.yaml
Please register or sign in to comment