TYPO3 Extbase:为视图分配2个不同的对象?

时间:2018-01-17 11:05:45

标签: typo3

我在我的控制器中有一个“终止”类的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}" />

它完美无缺。

0 个答案:

没有答案