我正在Extbase TYPO3-Extension中使用具有m:n关系的某个域,并希望从am:n-relation子级按属性分组获得输出,理想情况下应考虑包括具有多个关系的条目。
假设我有书籍和类别。书籍具有一些“标题”和“ 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
ViewHelper,但是这并不能正常工作。按子级属性(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仅引用“数字” /关系集,因此分组是垃圾。
当然,如果我在Category的动作中工作,那一切都会非常容易,这只是一件简单的for each category { for each areBooks }
事情,但是我需要在有关书籍的动作/视图中输出该输出。
我非常确定我太愚蠢或盲目了-可能会使某些读者感到困惑,因为它有点像皮皮的英语;-),无论如何,如果有人对此有所提示,那将是很好的。发现了一些有关按日期分组的类似问题,并使用自定义视图帮助程序进行了解决,但我认为可能/应该是一个更简单的解决方案。
哦,哦,现在我就自己掌握了它,就这么简单:将category-Repository添加/注入到我的books-controller,并将其所需的输出(例如findall)分配给我的action / view,一切都很好在类别控制器下。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句