64 lines
2.8 KiB
ReStructuredText
64 lines
2.8 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _feature-86057:
|
|
|
|
=========================================================
|
|
Feature: #86057 - Improved typolink / URL link generation
|
|
=========================================================
|
|
|
|
See :issue:`86057`
|
|
|
|
Description
|
|
===========
|
|
|
|
With new site-based handling, the de-facto standard GET parameter "L" (for language) became
|
|
obsolete.
|
|
|
|
Instead, in order to create a link to a specific language via TypoScript's :typoscript:`typolink` functionality,
|
|
a new parameter :typoscript:`typolink.language` is introduced.
|
|
|
|
.. code-block:: typoscript
|
|
|
|
page.10 = TEXT
|
|
page.10.value = Link to the page with the ID in the current language
|
|
page.10.typolink.parameter = 23
|
|
page.20 = TEXT
|
|
page.20.value = Link to the page with the ID in the language 3
|
|
page.20.typolink.parameter = 23
|
|
page.20.typolink.language = 3
|
|
|
|
Omitting the parameter :typoscript:`language` will use the current language.
|
|
If a page is not available in the requested language, the link will not be generated,
|
|
however a fallback to the default language can be built, as the HMENU TypoScript functionality does.
|
|
|
|
Due to the new page-linking functionality, the following TypoScript settings are not necessary anymore
|
|
and should be removed for TypoScript configurations on page trees with a site configuration:
|
|
|
|
* Including the "L" parameter in :typoscript:`config.linkVars`, as the L parameter is not evaluated for
|
|
page requests with a site configuration.
|
|
* :typoscript:`config.absRefPrefix` is only necessary for links to files or images, but not for
|
|
page links, as they are always built against the absolute path, or - if :typoscript:`typolink.forceAbsoluteUrl`
|
|
is explicitly set.
|
|
The option is set to :typoscript:`auto` by default for site configuration TypoScripts, so this is not necessary
|
|
anymore in regular installations.
|
|
* One of the major strengths allows to link across sites / domains with specifically knowing
|
|
all available languages of a different page tree. Using the :typoscript:`config.typolinkEnableLinksAcrossDomains`
|
|
is not necessary anymore for TypoScript within a site configuration.
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
When using :typoscript:`typolink.additionalParams = &L=1`, this is automatically mapped to
|
|
the :typoscript:`typolink.language` parameter, but if both are set, the :typoscript:`typolink.language` option
|
|
takes precedence.
|
|
|
|
When generating links with `&L=` query parameters, this parameter is stripped, and the correct base
|
|
URL for the site is fetched, and the query parameter is not added anymore.
|
|
|
|
By setting the target page ID via :typoscript:`typolink.parameter` it is also possible to set the
|
|
page ID to a localized page ID, automatically resolving to the correct language if neither
|
|
:typoscript:`typolink.parameter` nor :typoscript:`typolink.additionalParams = L=` is set.
|
|
|
|
.. index:: TypoScript, ext:frontend
|