[BUGFIX] Fix PageTS config example of CKEditor RTE
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / 8.6 / Feature-79121-ImplementHookInTypolinkForModificationOfPageParams.rst
1 .. include:: ../../Includes.txt
2
3 ============================================================================
4 Feature: #79121 - Implement hook in typolink for modification of page params
5 ============================================================================
6
7 See :issue:`79121`
8
9 Description
10 ===========
11
12 A new hook has been implemented in ContentObjectRenderer::typoLink for links to pages. With this 
13 hook you can modify the link configuration, for example enriching it with additional parameters or 
14 meta data from the page row.
15
16
17 Impact
18 ======
19
20 You can now register a hook via:
21
22 .. code-block:: php
23
24         $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typolinkProcessing']['typolinkModifyParameterForPageLinks'][] = \Your\Namespace\Hooks\MyBeautifulHook::class;
25
26 Your hook has to implement `TypolinkModifyLinkConfigForPageLinksHookInterface` with its method 
27 :php:`modifyPageLinkConfiguration(array $linkConfiguration, array $linkDetails, array $pageRow)`.
28 In :php:`$linkConfiguration` you get the configuration array for the link - this is what your hook 
29 can modify and **has to** return.
30 :php:`$linkDetails` contains additional information for your link and :php:`$pageRow` is the full
31 database row of the page.
32
33 For more information as to which configuration options may be changed, see TSRef_.
34
35 Example implementation:
36 -----------------------
37
38 .. code-block:: php
39
40         public function modifyPageLinkConfiguration(array $linkConfiguration, array $linkDetails, array $pageRow) : array
41         {
42                 $linkConfiguration['additionalParams'] .= $pageRow['myAdditionalParamsField'];
43                 return $linkConfiguration;
44         }
45
46 .. _TSRef: https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Typolink/Index.html
47
48 .. index:: PHP-API