Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 将参数传递给不同的控制器或备选方案_Typo3_Extbase_Typo3 6.2.x - Fatal编程技术网

Typo3 将参数传递给不同的控制器或备选方案

Typo3 将参数传递给不同的控制器或备选方案,typo3,extbase,typo3-6.2.x,Typo3,Extbase,Typo3 6.2.x,在我的extbase扩展中,我有一个约会模型,用户可以编写关于约会情况的反馈。 因此,我创建了一个包含不同字段的反馈模型。 现在,当用户单击“创建反馈”按钮时,我应该实现什么 到目前为止,我得到了这个,但它不起作用: <f:link.action action="edit" controller="Feedback" arguments="{appointment:appointment}"> 为什么会出现这个错误?(约会对象肯定在那里,我调试过了) 我想这一定和任命控制器到反馈控

在我的extbase扩展中,我有一个约会模型,用户可以编写关于约会情况的反馈。
因此,我创建了一个包含不同字段的反馈模型。
现在,当用户单击“创建反馈”按钮时,我应该实现什么 到目前为止,我得到了这个,但它不起作用:

<f:link.action action="edit" controller="Feedback" arguments="{appointment:appointment}">
为什么会出现这个错误?(约会对象肯定在那里,我调试过了)
我想这一定和任命控制器到反馈控制器的转换有关


实现这一点的最佳方法是什么?

检查ext_localconf.php中的插件控制器动作数组,然后发布它。可能是出了什么问题。

检查ext_localconf.php中的插件控制器动作数组,然后发布它。可能有问题。

如果使用不同的插件,则在生成链接时需要pluginName参数

<f:link.action action="edit" controller="Feedback" pluginName="your_plugin" arguments="{appointment:appointment}">

如果使用不同的插件,则在生成链接时需要pluginName参数

<f:link.action action="edit" controller="Feedback" pluginName="your_plugin" arguments="{appointment:appointment}">

如果出现此错误:

参数1传递给…控制器\FeedbackController::newAction() 必须是…\Model\Appointment的实例,未给出任何实例

这是因为你给了控制器一个空对象,你的控制器不允许taht

为避免此错误,您可以在控制器中允许空对象:

   /**
     * action new
     * @param ...\Domain\Model\Appointment $appointment
     * @return void
     */
    public function newAction(...\Domain\Model\Appointment $appointment=NULL) {
        $this->view->assign('appointment', $appointment);
    }
这很奇怪,因为在你的链接中,你调用了一个动作“编辑”,并且你在“newAction”控制器而不是“editAction”控制器中出现了一个错误,你应该允许你的插件使用“编辑”动作(可访问或不可访问):

正如Natalia所写,如果你想调用的动作属于另一个插件,请添加插件名称

<f:link.action action="edit" controller="Feedback" pluginName="your_plugin" arguments="{appointment:appointment}">


Florian

如果出现此错误:

参数1传递给…控制器\FeedbackController::newAction() 必须是…\Model\Appointment的实例,未给出任何实例

这是因为你给了控制器一个空对象,你的控制器不允许taht

为避免此错误,您可以在控制器中允许空对象:

   /**
     * action new
     * @param ...\Domain\Model\Appointment $appointment
     * @return void
     */
    public function newAction(...\Domain\Model\Appointment $appointment=NULL) {
        $this->view->assign('appointment', $appointment);
    }
这很奇怪,因为在你的链接中,你调用了一个动作“编辑”,并且你在“newAction”控制器而不是“editAction”控制器中出现了一个错误,你应该允许你的插件使用“编辑”动作(可访问或不可访问):

正如Natalia所写,如果你想调用的动作属于另一个插件,请添加插件名称

<f:link.action action="edit" controller="Feedback" pluginName="your_plugin" arguments="{appointment:appointment}">


Florian

生成的链接是什么样子的?现在有预约吗?您的插件/控制器是否允许访问保存约会记录的存储文件夹?生成的链接看起来如何?现在有预约吗?您的插件/控制器是否允许访问保存约会记录的存储文件夹?我想我的情况下也需要它-无需使用不同的插件?!因为这确实是它显然不起作用的原因,即使我只使用了一个插件(我想):)谢谢!我想我也需要它在我的情况下-不使用不同的插件?!因为这确实是它显然不起作用的原因,即使我只使用了一个插件(我想):)谢谢!