6

我有一个看似简单的问题,但我无法找到答案。与存储在 table 中的文章不同,tablejos_content中的类别jos_categories缺少任何命名的列ordering或任何其他将存储所需信息的列。我也试图在jos_assets表中找到任何类似的东西,但它也没有帮助。

我稍微修改了内容组件,我需要在调用时按顺序对我的子类别进行排序,$parent->getChildren()或者只是找到该ordering列,这样我就可以创建自己的查询,即使它不干净,我只需要让它尽快工作。

那么我在哪里可以找到类别排序或如何强制getChildren方法返回排序结果?

提前致谢, Elwhis

4

1 回答 1

8

在 Joomla 中,分类的顺序存储在表“jos_categories”中,作为具有一组链接节点的分层树结构。用于设置顺序的列是:“ parent_id ”、“ lft ”、“ rgt ”和“ level ”。

资产和菜单项以相同的方式存储。

您可以在wiki上阅读有关“树遍历”的更多信息

编辑: 从 Joomla 1.6 加载特定类别及其在 JCategoryNode 对象中的所有子项使用:

jimport( 'joomla.application.categories' );

$extension = 'Content'; // com_content
$options['countItems'] = true;
$categoryId = 0;

$categories = JCategories::getInstance($extension, $options);
$categories->get($categoryId);
于 2011-08-28T19:52:53.773 回答