Attention
This manual is no longer being maintained for TYPO3 versions 11.5 and above. The majority of the content has been migrated to the Extbase or Fluid sections in "TYPO3 Explained".
Adding additional tag attributes with additionalAttributes¶
At the moment most of the ViewHelpers can be split into two types: One
group of ViewHelpers is rather functional oriented. That applies for example
to the format
ViewHelpers, which can format data or currencies.
The other group is mostly output oriented, because these ViewHelpers output
mostly a HTML tag. Samples of this are the form ViewHelpers, all of them
start with f:form
. Every form ViewHelper generates a HTML tag,
like e.g. <form>
or <input>
.
A Fluid ViewHelper supports most attributes that are also available in
HTML. There are for example the attributes class
and
id
which exists in all tag based ViewHelper. You find a listing
of all universal properties in the appendix C.
However, sometimes attributes are needed that are not provided by the
ViewHelper - maybe a special JavaScript event handler or proprietary
attributes (which are used by JavaScript frameworks like Dojo for example).
To output them as well without changing the ViewHelper, the attribute
additionalAttributes
is available. This is an associative array
by which additional tag attributes can be defined, like the following
example shows:
<f:form.textbox id="myTextbox" additionalAttributes="{onclick: 'alert(\'Hello World\')'}" />
Another common use case is the data-attribute, which can be used in JavaScript functions:
<f:form.textbox additionalAttributes="{data-anything: 'some info'}" />
The HTML tag generated by the ViewHelper now also supports the
onclick
attribute:
<input type="text" onClick="alert('Hello World')" id="myTextbox" />
The additionalAttributes
is especially helpful if only a
few of this additional attributes are needed. Otherwise it is often
reasonable to write an own ViewHelper which extends the corresponding
ViewHelper.
additionalAttributes
is provided by the TagBasedViewHelper
, the
base class for tag based ViewHelpers (see appendix C) and it allows
the adding of optional attributes for the HTML tag output.