0

我的 Sitepackage 中有一个自定义的“联系我们”表单 - 使用 TYPO3 v10。

表单工作正常,我可以在任何页面上插入表单,就像插入任何其他表单/内容元素一样。

我想做的是通过将表单添加到我的全局布局模板中,使其出现在每个页面上,以便它位于页脚中。

文档中,我将其添加到我的流体布局模板中:

<formvh:render persistenceIdentifier="EXT:my_site_package/Resources/Private/Forms/my_contact_us.form.yaml"/>

我将此添加到我的表单conf(my_contact_us.form.yaml)中:

    renderingOptions:
      controllerAction: perform
      addQueryString: false
      argumentsToBeExcludedFromQueryString: [ ]
      additionalParams: [ ]

当我这样做时,我得到一个类型错误:

Argument 1 passed to TYPO3\CMS\Extbase\Service\ExtensionService::getPluginNameByAction() must be of the type string, null given

有什么我没有正确配置的吗?任何帮助表示赞赏,再次感谢。

4

1 回答 1

1

前段时间和几个小时前我也经历过。

通过覆盖 235-241 之间的行,将其\TYPO3\CMS\Fluid\ViewHelpers\FormViewHelper设置为操作、控制器、extensionName 和 pluginName 的默认空值,修复了它。

用这个替换它:

$formActionUri = $uriBuilder->uriFor(
    $this->arguments['action'] ?? 'render',
    $this->arguments['arguments'] ?? [],
    $this->arguments['controller'] ?? 'FormFrontendController',
    $this->arguments['extensionName'] ?? 'form',
    $this->arguments['pluginName'] ?? 'Formframework'
);

现在对我自己很好。在 TYPO3 v10.4.13 上测试

于 2021-02-28T21:20:57.717 回答