从视图传递一个对象与TYPO3到控制器6.2.9
问题描述:
我在Typo3的6.2.9所面临以下问题:从视图传递一个对象与TYPO3到控制器6.2.9
当我用F传递一些对象到控制器:链接操作和参数,对象将到达控制器,但他没有按照我发送的那样注册它们。对于这里更好的解释了单一的代码部分:
在部分:
<f:link.action action="new" controller="ForeignProductMeasuring" arguments="{planRow : planRow, plan:plan}">neue Dosierung anlegen</f:link.action>
在网站生成的链接:
"index.php?id=1&tx_desinfektionsplan_desinfektionsplan%5BplanRow%5D=12&tx_desinfektionsplan_desinfektionsplan%5Bplan%5D=16&tx_desinfektionsplan_desinfektionsplan%5Baction%5D=new&tx_desinfektionsplan_desinfektionsplan%5Bcontroller%5D=ForeignProductMeasuring&cHash=2adafaba9c56b134d4d5ae382ee5d57b"
什么显示的参数都是在我看来是正确的。
在这里,在控制器的操作:
public function newAction(\Orochemie\Desinfektionsplan\Domain\Model\ForeignProductMeasuring $newForeignProductMeasuring = NULL,
\Orochemie\Desinfektionsplan\Domain\Model\PlanRow $planRow,
\Orochemie\Desinfektionsplan\Domain\Model\Plan $plan) {
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this->request->getArguments());
$this->view->assign('newForeignProductMeasuring',$newForeignProductMeasuring);
$this->view->assign('planRow', $planRow);
$this->view->assign('plan', $plan);
}
错误看起来是这样的:
#1: PHP Catchable Fatal Error: Argument 2 passed to
Orochemie\Desinfektionsplan\Controller\ForeignProductMeasuringController::newAction()
must be an instance of Orochemie\Desinfektionsplan\Domain\Model\PlanRow,
none given in /kunden/137629_70806/typo3/typo3conf/ext/desinfektionsplan/Classes/Controller/ForeignProductMeasuringController.php line 46
对于我来说,它看起来像他不知道这是他得到的对象。但是,如果我用$ this-> request-> getArguments()检查参数,那么我看到所有参数都到达控制器。
有没有人有这个问题的想法?
答
您是否在PHPDoc注释中定义了您的参数?
/**
* @param \Orochemie\Desinfektionsplan\Domain\Model\ForeignProductMeasuring newForeignProductMeasuring
* @param \Orochemie\Desinfektionsplan\Domain\Model\PlanRow $planRow
* @param \Orochemie\Desinfektionsplan\Domain\Model\Plan $plan
* @return void
*/
public function newAction(\Orochemie\Desinfektionsplan\Domain\Model\ForeignProductMeasuring $newForeignProductMeasuring = NULL,
\Orochemie\Desinfektionsplan\Domain\Model\PlanRow $planRow,
\Orochemie\Desinfektionsplan\Domain\Model\Plan $plan) {
...
}
这些对于ObjectMapper非常重要。
是的,我做到了。这也是我的想法。但没有运气.. – AxelB 2015-02-10 09:23:13