我有一个看似简单的问题,但我却找不到答案。与存储在表 jos_content
中的文章不同,表 jos_categories
中的类别缺少任何名为 ordering
的列或任何其他可以存储所需信息的列.我还试图在 jos_assets
表中找到任何类似的东西,但它也没有帮助。
我对内容组件进行了一些改动,我需要在调用 $parent->getChildren()
时按顺序对我的子类别进行排序,或者只是找到 ordering
列这样我就可以创建我自己的查询,即使它不是干净的,我只需要让它尽快工作。
那么在哪里可以找到类别排序或如何强制 getChildren
方法返回排序结果?
提前致谢,埃尔维斯
最佳答案
在 Joomla 中,分类的顺序存储在表“jos_categories”中,作为具有一组链接节点的分层树结构。用于设置顺序的列是:“parent_id”、“lft”、“rgt”和“level” .
Assets 和菜单项以相同的方式存储。
您可以在 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);
关于php - joomla - 类别排序存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7222330/