[FEATURE] Allow extended custom links in FormEngine and TypoLink 64/52264/16
authorBenni Mack <benni@typo3.org>
Thu, 30 Mar 2017 13:47:23 +0000 (15:47 +0200)
committerFrank Naegler <frank.naegler@typo3.org>
Sun, 2 Apr 2017 12:46:44 +0000 (14:46 +0200)
commit60f62bd01dffe4cd62ca5eb49e729e0e0d4da88d
tree68401c02d13730fb705a6b2f1ae2cf573f8c1720
parent9c50162e0bda735e45ed5290f950327883c457d8
[FEATURE] Allow extended custom links in FormEngine and TypoLink

This patch extracts TypoLink generation into separate classes based
on the link type calculated via the LinkService functionality.

Via the configuration $TYPO3_CONF_VARS[FE][typolinkBuilder][$linkType]
new types can be added or existing implementations can be overriden.

Resolves: #80619
Releases: master
Change-Id: Id1dc028cb306ac50352302b8a5c9725ab7f04b31
Reviewed-on: https://review.typo3.org/52264
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
14 files changed:
typo3/sysext/backend/Classes/Form/Element/InputLinkElement.php
typo3/sysext/core/Configuration/DefaultConfiguration.php
typo3/sysext/core/Documentation/Changelog/master/Feature-80619-ExtendLinkGenerationWithinTypolink.rst [new file with mode: 0644]
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Classes/Typolink/AbstractTypolinkBuilder.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Typolink/DatabaseRecordLinkBuilder.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Typolink/EmailLinkBuilder.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Typolink/ExternalUrlLinkBuilder.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Typolink/FileOrFolderLinkBuilder.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Typolink/LegacyLinkBuilder.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Typolink/PageLinkBuilder.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Typolink/UnableToLinkException.php [new file with mode: 0644]
typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php
typo3/sysext/frontend/Tests/Unit/Typolink/AbstractTypolinkBuilderTest.php [new file with mode: 0644]