【问题标题】:joomla - where is category ordering stored?joomla - 类别排序存储在哪里?
【发布时间】:2011-11-05 13:04:51
【问题描述】:
我有一个看似简单的问题,但我找不到答案。与存储在表jos_content 中的文章不同,表jos_categories 中的类别缺少任何名为ordering 的列或任何其他将存储所需信息的列。我也试图在jos_assets 表中找到类似的东西,但它也没有帮助。
我稍微修改了内容组件,我需要在调用 $parent->getChildren() 时按顺序对我的子类别进行排序,或者只需找到 ordering 列,这样我就可以创建自己的查询,即使它不干净,我只需要尽快让它工作。
那么我在哪里可以找到类别排序或如何强制getChildren 方法返回排序结果?
提前致谢,Elwhis
【问题讨论】:
标签:
php
mysql
joomla
joomla1.6
【解决方案1】:
在 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);