2014-08-30 37 views
0

我在一个Extbase TYPO3-Extension中使用m:n关系中的某个域,并希望得到一个输出按am:属性的关系分组:n关系子,理想情况下尊重包括有几个关系的条目。TYPO3 Extbase&Fluid从m:n关系属性中分组的输出

比方说,我有书籍和类别。书籍有一些“标题”和“memberOfCategories”属性,类别有一些“名称”和“areBooks”属性。一般m:n的东西(使用一些mn表和TCA等必要的字段)工作正常。

使用流体,一本书的所有类别的输出工作正常,以及具有某一类等所有书籍。

但我需要这样的一些输出(包括“复制”属于不止一类的书籍输出)(在书视图/行动方面!):

Category A 
    Book A 
    Book B 

Category B 
    Book A 
    Book C 

(No Category) 
    Book D 
    Book E 

我尝试使用f:groupedFor视图助手,但那不符合我的要求。由子属性(category.name)分组根据需要不起作用:

<f:groupedFor each="{books}" as="booksOfThisCat" groupBy="memberOfCategories.name" groupKey="memberOfCategories.name"> 
    <h3>{memberOfCategories.name} (should be category name)</h3> 
    <f:for each="{booksOfThisCat}" as="book"> 
     <li>{book.title}</li> 
    </f:for> 
</f:groupedFor> 

我的第一次尝试是由memberOfCategories只是分组 - 但是这导致了不同的和无用的结果为好,因为memberOfCategories只引用“数量”/一组关系,所以分组是垃圾。

当然,如果我在类别的行动中工作,这将是一个简单的for each category { for each areBooks }的事情,但我需要在关于书籍的行动/视图中的输出。

我非常确定自己太愚蠢或盲目 - 并且可能会让一些读者感到困惑,因为无论如何,如果有人对此有所暗示,这将是非常棒的。找到有关按日期分组一些类似的问题,有一个自定义视图助手解决了,但我认为有可能/应该是一个简单的解决方案。

+0

哦,哦 - 现在我知道了后面我自己,它只是这么简单:我刚才添加/注射类的存储库,以我的书控制器,并指定其所需的输出(例如的findAll),以我的行动/查看,一切都细ES这已经是该类别控制器下。 – Falcon2014 2014-08-30 13:46:47

回答

0

噢哦 - 现在我只是在自己身后,它就是这么简单: 向我的书籍控制器添加/注入category-Repository,并将其期望输出(例如findall)分配给我的动作/视图和所有内容是罚款ES这已经是该类别控制器下。

相关问题