我正在将旧的 Flexform 迁移到 TYPO3 12 中的多个插件。
现在看来我有一个简单的问题,但找不到好的解决方案。
我有2个插件:
搜索表格
列表
两者都使用相同的控制器并有 2 个不同的操作:
现在我需要在搜索表单中有一个简单的选择框,并且我需要两个插件以及两个操作中的搜索表单的参数,而不仅仅是一个操作。
看来,当我通过
在搜索表单中创建选择框时<f:form.select name="myproperty" options="{0: 'Please Select', 1: 'first option'}" value="{selectedValueFromController}"/>
它会生成 HTML
<select name="tx_myextension_searchform[myproperty]" ....>
因此它将“searchform”放入选择名称中。
我想,这就是为什么我只能在控制器操作“searchFormAction”中获取其后值,而不能在 listAction 中获取其后值。 我通过以下方式做到这一点:
$arrRequest = $this->request->getArguments();
如何在两个操作中获取搜索表单的值?
感谢您的任何提示或解决方法。如何才能做到“最佳实践”
$this->request->getArguments() 仅返回以插件名称 tx_myextension_searchform 为前缀的值。但您仍然可以通过 $_POST/$_GET 全局变量访问它们。
您的问题有多种有效的解决方案,但这取决于您的项目如何工作,您是否可以找到一个干净简单的解决方案或必须重建整个扩展。