我正在使用CategoryCollection
来获取特定类别ID的记录,但是问题是它仅加载了准确的类别,例如我有parent > child
并且我将子类别ID附加到了记录中并且我选择了子类别,那么它会向我显示记录,但是,如果我选择parentID,那么它不会显示子类别记录。
$collection = \TYPO3\CMS\Frontend\Category\Collection\CategoryCollection::load(
$categoryID,
true,
'tx_myextension_table_name',
'categories'
);
如果我从CategoryCollection
中选择了父ID,是否有任何内置的方式来获取所有子类别的记录?
答案 0 :(得分:0)
不幸的是,对于这种复杂的选择,没有内置的解决方案。您确实需要编写自己的逻辑,该逻辑可以像这样工作:
parent
是您的类别的类别IN()
查询如果您有较深的类别树,则可以将类别UID的列表放在custom cache中。您可以使用根类别UID或其哈希作为键。这些缓存条目应为tagged和sys_category
。或者,您可以为列表中的每个类别UID添加一个sys_category_<uid>
标签。这样可以确保每当其中一个类别发生更改时,缓存条目都会被删除,您可以重建列表。