我目前正在尝试使用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 等。 我对占位符等某些属性的更改未通过并且未显示在前端中。
由于钩子中的函数没有使用返回值。我认为您需要使用传递的参数作为参考。喜欢:
class FormHook
{
public function initializeFormElement(FormElementInterface &$renderable)
{
error_log('initialized formElement hook');
if ($renderable->getIdentifier() === 'text-1') {
$renderable->setProperty('placeholder', 'somePlaceholderTexts');
}
}
}