2013-05-29 109 views
3

我有一篇文章的ID,并且想知道它是父类别的详细信息。 要获取它的ID类的细节我读过的一个API,我需要这样的代码:通过儿童物品的ID获取类别 - Joomla 2.5 API

$categories = JModelLegacy::getInstance('Categories', 'ContentModel', array('ignore_request' => true)); 
$categories->setState('filter.published', 1); 
$categories->setState('filter.access', $access); 
$items = $categories->getItems(); 

但是这给了我(通过j-dump)没有经过过滤的所有对象的列表。什么的setState过滤器,我必须适用于: 1)只有一个结果 2)按类别ID过滤(可见在管理,而不是资产ID)= XX

而且,如果可能的话 - 如何让文章的父类?

回答

6

我得到一个特定的类别是这样的:

$options = array(); 
$categories = JCategories::getInstance('Content', $options); 
$category = $categories->get($article->catid); 

从那里,你可以使用

$parent  = $category->getParent(); 

获取所选$类的父类。

更新:要获得文章的CATID,使用MySQL查询:

SELECT `catid` FROM `#__content` WHERE `id` = $article_id 
+0

这是一个模块,而不是组件内部,所以我没有$文章对象,我怎么能得到它在一个模块? – shershen

+0

如果您有文章的标识,则可以查询数据库以获取本文的catid。我正在更新查询的答案。 – Bakual

+1

以及你可以得到一个表实例并加载行并获取catid。 – Elin