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

发布于 2024-12-02 05:00:13 字数 406 浏览 1 评论 0原文

我有一个看似简单的问题,但我却找不到答案。与存储在表 jos_content 中的文章不同,表 jos_categories 中的类别缺少任何名为 ordering 的列或任何其他存储所需信息的列。我还尝试在 jos_assets 表中找到类似的内容,但也没有帮助。

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

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

预先感谢,埃尔维斯

I have a question that might seem simple, but yet I was unable to find the answer. Unlike articles, which are stored in table jos_content, categories in table jos_categories lack any column named ordering or any other that would have the desired information stored. I also tried to find anything similar in the jos_assets table, but it did not help either.

I am hacking the content component a little and I need to get my child categories ordered by the ordering when calling $parent->getChildren() or just find the ordering column so I can create my own query even though it's not clean, I just need to get it working ASAP.

So where can I find category ordering or how do I force getChildren method to return ordered results?

Thanks in advance, Elwhis

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鹤仙姿 2024-12-09 05:00:13

在 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);

In Joomla categorises' order is stored in table "jos_categories" as hierarchical tree structure with a set of linked nodes. Columns used to set order are: "parent_id", "lft", "rgt" and "level".

Assets and menu items are stored in the same way.

You can read more about "Tree traversal" on wiki

Edit:
From Joomla 1.6 to load a specific category and all its children in a JCategoryNode object use:

jimport( 'joomla.application.categories' );

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

$categories = JCategories::getInstance($extension, $options);
$categories->get($categoryId);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文