joomla - 存储类别排序的位置?

Elw*_*his 6 php mysql joomla joomla1.6

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

我正在黑客攻击内容组件,我需要在调用时按顺序排序我的子类别,$parent->getChildren()或者只是找到ordering列,这样我就可以创建自己的查询,即使它不干净,我只需要尽快使用它.

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

在此先感谢Elwhis

Woo*_*Dzu 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);
Run Code Online (Sandbox Code Playgroud)