59 lines
1.6 KiB
ReStructuredText
59 lines
1.6 KiB
ReStructuredText
|
|
.. include:: /Includes.rst.txt
|
|
|
|
.. _feature-59712:
|
|
|
|
===========================================================
|
|
Feature: #59712 - Additional params for HTMLparser userFunc
|
|
===========================================================
|
|
|
|
See :issue:`59712`
|
|
|
|
Description
|
|
===========
|
|
|
|
It is now possible to supply additional parameters to a userFunc of the HTMLparser:
|
|
|
|
::
|
|
|
|
myobj = TEXT
|
|
myobj.value = <a href="/" class="myclass">MyText</a>
|
|
myobj.HTMLparser.tags.a.fixAttrib.class {
|
|
userFunc = Tx\MyExt\Myclass->htmlUserFunc
|
|
userFunc.myparam = test1
|
|
}
|
|
|
|
By default only the value of the processed attribute is passed to the userFunc
|
|
as the first parameter:
|
|
|
|
::
|
|
|
|
function htmlUserFunc($attributeValue, HtmlParser $htmlParser) {
|
|
// $attributeValue is set to the current attribute value "myclass"
|
|
}
|
|
|
|
When additional options are provided as described above, these options will be
|
|
passed in the first function parameter as an array. The attribute value is passed
|
|
in the array with the ``attributeValue`` array key.
|
|
|
|
::
|
|
|
|
function htmlUserFunc(array $params, HtmlParser $htmlParser) {
|
|
// $params['attributeValue'] contains the current attribute value "myclass".
|
|
// $params['myparam'] is set to "test" in the current example.
|
|
}
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
If additional parameters are provided to the HTMLparser userFunc setting the first parameter
|
|
passed to the called function changes from a string with the attribute value to an array
|
|
containing the attributeValue key and all additional settings.
|
|
|
|
This has an impact to all installations where additional parameters are used in the userFunc
|
|
setting of the HTMLparser.
|
|
|
|
|
|
.. index:: PHP-API, RTE, TypoScript, Frontend
|