php - joomla - 类别排序存储在哪里?

标签 php mysql joomla joomla1.6

我有一个看似简单的问题,但我却找不到答案。与存储在表 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/

相关文章:

Joomla 组件未出现在菜单项类型中

php - Joomla url 重定向到另一个域

php - 对多维数组中的行进行分组,并对每组中的 "count"个元素求和

php - 获取我们数据库的 Facebook 个人资料图片

MYSQL/JSON : compare an array with the list of a column in JSON format and count the number of terms that match

php - Reddit式的投票系统,如何避免重复投票?

git - .gitignore 用于 Joomla 组件

php - 我可以创建一个 PHP 函数来创建文本输入字段吗?

php - strtotime ('first day of last month' 的版本差异)?

mysql - 从mysql中的给定日期减去天数