Feature: #97536 - Unified API for generating typolinks¶
See forge#97536
Description¶
A new \TYPO3\CMS\Frontend\Typolink\LinkFactory
class is added to TYPO3
Core, which allows to generate any kind of links in the TYPO3 frontend - links
to files, pages, URLs, email, telephone links, or links to specific records,
such as news entries.
Previously, this functionality resided in ContentObjectRenderer->typoLink()
and ContentObjectRenderer->typoLink_URL()
but was extracted into a
specific class, only dealing with the generation of links.
This class works with two main methods:
LinkFactory->create()
LinkFactory->createUri()
Both methods return a LinkResultInterface
instance, which can be used
programmatically to render the results of the link generation for HTML output
via LinkResult->getHtml()
or as JSON with LinkResult->getJson()
.
Impact¶
For TypoScript or Fluid-based renderings, the base functionality for using
ContentObjectRenderer->typoLink()
is still recommended. However, when
an extension developer wants to work with the raw result, the
LinkResultInterface
and corresponding implementations for JSON and HTML
rendering allow for much more flexibility by accessing more information than
just the raw anchor tag.