使用Joomla API获取为活动请求呈现的当前内容(文章)的访问级别的建议方法是什么。
目前,我已经使用手动查询进行了黑客攻击,但这并不是感觉正确因为我认为应该有一种方法可以使用该对象获取访问级别模型,而不是必须编写自定义查询。
$db = JFactory::getDBO();
$cid = JRequest::getInt('id', 0); // get the content id from the request
$query = ' SELECT #__content.access FROM #__content WHERE #__content.id="'.$cid.'"';
$db->setQuery($query);
$objList = $db->loadObjectList();
foreach($objList as $obj)
{
return $obj->access; // gets the access level for the first object
}
答案 0 :(得分:1)
您可以调用以下文件中的文章模型中定义的getItem函数:
components\com_content\models\article.php
您需要先加载模型,然后通过传递文章ID来调用getItem函数。
jimport('joomla.application.component.model');
JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models');
$articleModel = JModelLegacy::getInstance( 'Article', 'ContentModel' );
调用该函数:
$result = $articleModel->getItem($articleId);
并使用访问级别:
$result->access;