JCategories
您可以通过使用组件 com_content 的类别的实现来获取类别树。
<?php
jimport('joomla.application.categories');
jimport('joomla.application.component.model');
require_once JPATH_BASE . '/components/com_content/helpers/category.php';
$articleId = $this->item->id; // or your way to get articleId
$articlesModel = JModel::getInstance('ContentModelArticle');
$articleCategoryId = $articlesModel->getItem($articleId)->catid;
$contentCategoriesModel = new ContentCategories();
$categoryTree = $contentCategoriesModel->get($articleCategoryId)->getPath();
重要的是,结果数组的元素不仅包含id
类别,还包含alias
字段(如 a 2:tropical
)。要提取整数id
使用intval()
函数,如下所示:
foreach ($categoryTree as $categoryTreeNode) {
$categoryTreeNodeId = intval($categoryTreeNode);
}