TYPO3表单+Hook交互

问题描述 投票:0回答:1

我目前正在尝试使用typo3/cms-forms在TYPO3中实现表单。

我的表单必须更加动态,我需要从 API 获取一些数据并在表单中表示它。为了实现这一目标,我想到使用钩子来操纵表单的基本结构。

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/form']['initializeFormElement'][1729246696]
    = \SchmelzermedienGmbh\ImApi\Hooks\Forms\FormHook::class;
class FormHook
{
 
    public function initializeFormElement(FormElementInterface $renderable)
    {
        error_log('initialized formElement hook');
        if ($renderable->getIdentifier() === 'text-1') {
            $renderable->setProperty('placeholder', 'somePlaceholderTexts');
        }
    }

这不起作用,我已经尝试了不同的钩子,例如 beforeRendering、afterBuildingFinished 等。 我对占位符等某些属性的更改未通过并且未显示在前端中。

typo3 typo3-12.x
1个回答
0
投票

由于钩子中的函数没有使用返回值。我认为您需要使用传递的参数作为参考。喜欢:

class FormHook
{

    public function initializeFormElement(FormElementInterface &$renderable)
    {
        error_log('initialized formElement hook');
        if ($renderable->getIdentifier() === 'text-1') {
            $renderable->setProperty('placeholder', 'somePlaceholderTexts');
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.