.. include:: /Includes.rst.txt 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. `
` or ``. 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:: Another common use case is the data-attribute, which can be used in JavaScript functions:: The HTML tag generated by the ViewHelper now also supports the `onclick` attribute:: 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.