我在一个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 }
的事情,但我需要在关于书籍的行动/视图中的输出。
我非常确定自己太愚蠢或盲目 - 并且可能会让一些读者感到困惑,因为无论如何,如果有人对此有所暗示,这将是非常棒的。找到有关按日期分组一些类似的问题,有一个自定义视图助手解决了,但我认为有可能/应该是一个简单的解决方案。
哦,哦 - 现在我知道了后面我自己,它只是这么简单:我刚才添加/注射类的存储库,以我的书控制器,并指定其所需的输出(例如的findAll),以我的行动/查看,一切都细ES这已经是该类别控制器下。 – Falcon2014 2014-08-30 13:46:47