我在我的控制器中有一个“终止”类的showAction,它不仅将该类的对象分配给视图,而且还应该通过getter传递与该对象相关的第二个对象。
public function showAction(\...\Kundentermine\Domain\Model\Termin $termin)
{
$this->view->assign('termin', $termin);
$this->view->assign('kaufmnnisch', $termin->getZugewkaufmaennisch());
}
相应的模板不仅应显示“终端”对象的详细信息,还应具有指向另一个控制器的show动作的链接,我将第二个指定对象“kaufmnnisch”传递给。
<tr>
<td>
<f:link.action action="show" controller="Kaufmnnisch" arguments="{kaufmnnisch : kaufmnnisch}">
<f:translate key="tx_kundentermine_domain_model_termin.kaufmaennisch" />
</f:link.action>
{termin.kaufmaennisch}
</td>
<td>
</td>
</tr>
但是我收到了一个错误:
Argument 1 passed to ...\Kundentermine\Controller\KaufmnnischController::showAction() must be an instance of ...\Kundentermine\Domain\Model\Kaufmnnisch, null given
为什么对象为NULL?在TerminController中的va_dump()内测试“$ termin-&gt; getZugewkaufmaennisch()”会得到正确的对象,为什么不将对象分配给视图?
编辑:根据要求,这里是控制器“Kaufmnnisch”的显示动作,它获取对象$ kaufmnnisch,据说在到达时为NULL,可以这么说。
/**
* action show
*
* @param \...\Kundentermine\Domain\Model\Kaufmnnisch $kaufmnnisch
* @return void
*/
public function showAction(\...\Kundentermine\Domain\Model\Kaufmnnisch $kaufmnnisch)
{
$this->view->assign('kaufmnnisch', $kaufmnnisch);
}
编辑2:问题解决了......
问题是该对象已分配给模板,但从那里它应该作为参数传递给partial。所以它从未到达过这一点:
<tr>
<td>
<f:link.action action="show" controller="Kaufmnnisch" arguments="{kaufmnnisch : kaufmnnisch}">
<f:translate key="tx_kundentermine_domain_model_termin.kaufmaennisch" />
</f:link.action>
{termin.kaufmaennisch}
</td>
<td>
</td>
</tr>
现在,我在这里添加了它:
<f:render partial="Termin/Properties" arguments="{termin:termin, kaufmnnisch:kaufmnnisch}" />
它完美无缺。