在自己的viewhelper中使用外国模型作为参数

问题描述

从流畅性上讲,我将其称为viewhelper类 {adr}是tt_address→FriendsOfTYPO3 \ TtAddress \ Domain \ Model \ Address的数组

在viewhelper中我注册参数

    use FriendsOfTYPO3\TtAddress\Domain\Model\Address;
    public function initializeArguments() {
        $this->registerargument('adr','FriendsOfTYPO3\TtAddress\Domain\Model\Address','the addresses',true);
    }

这失败,并显示以下消息: 在视图帮助器中,参数“ adr”已注册为类型“ FriendsOfTYPO3 \ TtAddress \ Domain \ Model \ Address”,但类型为“ TYPO3 \ CMS \ Extbase \ Persistence \ Generic \ QueryResult”

如何接收要使用的adr数组。 谢谢您的帮助!

解决方法

如果您的VH必须接受多个地址,则您的ViewHelper参数不得将查询结果中包含的任何对象的类名称注册为数据类型。

您必须注册类型为TYPO3\CMS\Extbase\Persistence\Generic\QueryResult的参数。