Я бы посоветовал вам выделить функцию, которая «делает то, что делает ViewHelper», в отдельный метод и сделать возможным вызов этого метода как метод publi c, и заставить его получать требуемые PHP аргументы функции. (например, адрес электронной почты пользователя) * завернутый в array $parameters
.
Этот метод затем может быть вызван из ViewHelper, а также из TypoScript. TypoScript будет выглядеть примерно так:
lib.myGravatarObject = USER
lib.myGravatarObject.userFunc = MyVendor\ExtensionName\GravatarRenderer
lib.myGravatarObject.userEmail = foo@bar.com
Если вы назовете свойства array $parameters
так же, как ваши аргументы ViewHelper, вы можете просто передать $this->arguments
или $arguments
из ViewHelper (бывший если вы реализуете render()
, последнее, если вы реализуете renderStatic()
). Это также делает более прозрачным использование в TS тех же имен свойств, что и для аргументов ViewHelper.