59 lines
2.1 KiB
ReStructuredText
59 lines
2.1 KiB
ReStructuredText
|
|
.. include:: /Includes.rst.txt
|
|
|
|
.. _feature-59396:
|
|
|
|
====================================
|
|
Feature: #59396 - TypolinkViewHelper
|
|
====================================
|
|
|
|
See :issue:`59396`
|
|
|
|
Description
|
|
===========
|
|
|
|
Adding Link and Uri ViewHelper that cope with the contents of any field that was filled with a link wizard in
|
|
TYPO3 CMS Backend.
|
|
Those fields contain various parts split by a space and being escaped to provide input for the
|
|
typoLink function.
|
|
In order to use those fields natively in Fluid without the need of TypoScript in between, this ViewHelper
|
|
was introduced.
|
|
It takes the field content as a whole and can additionally take some parameters directly from Fluid.
|
|
|
|
The full parameter usage in Fluid might look like this, where {link} is the field content:
|
|
|
|
.. code-block:: php
|
|
|
|
<f:link.typolink parameter="{link}" target="_blank" class="ico-class" title="some title" additionalParams="b=u" additionalAttributes="{type:'button'}">
|
|
|
|
<f:uri.typolink parameter="{link}" additionalParameters="b=u">
|
|
|
|
|
|
Only *parameter* is required, all other parameters are optional.
|
|
While passing additional parameters to the ViewHelper, following rules apply:
|
|
|
|
- target is overridden, the value from Fluid applies
|
|
- class is merged from the values passed from the database and those of *class*
|
|
- title is overridden, the value from Fluid applies
|
|
- additionalParams is merged from the values passed from the database and those of *additionalParams*
|
|
- additionalAttributes is (as usual) added to the resulting tag as *type="button"*
|
|
|
|
{link} contains *19 _blank - "testtitle with whitespace" &X=y*.
|
|
In case of the Uri.Typolink Viewhelper, only the first and the fourth parameter of the field content are taken into account,
|
|
the tag related properties are discarded.
|
|
For the given examples, the output is:
|
|
|
|
.. code-block:: php
|
|
|
|
<a href="index.php?id=19&X=y&b=u" title="some title" target="_blank" class="ico-class" type="button">
|
|
index.php?id=19&X=y&b=u
|
|
</a>
|
|
|
|
Impact
|
|
======
|
|
|
|
The new ViewHelper can be used in all new projects. There is no interference with any part of existing code.
|
|
|
|
|
|
.. index:: Fluid
|