Typo3 将参数传递给不同的控制器或备选方案
在我的extbase扩展中,我有一个约会模型,用户可以编写关于约会情况的反馈。Typo3 将参数传递给不同的控制器或备选方案,typo3,extbase,typo3-6.2.x,Typo3,Extbase,Typo3 6.2.x,在我的extbase扩展中,我有一个约会模型,用户可以编写关于约会情况的反馈。 因此,我创建了一个包含不同字段的反馈模型。 现在,当用户单击“创建反馈”按钮时,我应该实现什么 到目前为止,我得到了这个,但它不起作用: <f:link.action action="edit" controller="Feedback" arguments="{appointment:appointment}"> 为什么会出现这个错误?(约会对象肯定在那里,我调试过了) 我想这一定和任命控制器到反馈控
因此,我创建了一个包含不同字段的反馈模型。
现在,当用户单击“创建反馈”按钮时,我应该实现什么 到目前为止,我得到了这个,但它不起作用:
<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生成的链接是什么样子的?现在有预约吗?您的插件/控制器是否允许访问保存约会记录的存储文件夹?生成的链接看起来如何?现在有预约吗?您的插件/控制器是否允许访问保存约会记录的存储文件夹?我想我的情况下也需要它-无需使用不同的插件?!因为这确实是它显然不起作用的原因,即使我只使用了一个插件(我想):)谢谢!我想我也需要它在我的情况下-不使用不同的插件?!因为这确实是它显然不起作用的原因,即使我只使用了一个插件(我想):)谢谢!