我在Joomla编程模块! 2.5。该模块在给定位置显示文章。
我需要文章属性(即show_title
,link_title
ecc。)
使用此代码,我得到文章的特定属性:
$db =& JFactory::getDBO();
$query = 'SELECT * FROM #__content WHERE id='.$id.' AND state=1';
$db->setQuery($query);
$item = $db->loadObject();
$attribs = json_decode($item->attribs, true);
如果我var_dump
我得到的$attribs
变量:
array(26) {
["show_title"]=>
string(0) ""
["link_titles"]=>
string(0) ""
[...]
}
变量$attribs
表示文章的特定属性。当元素设置为""
时,表示“使用全局配置”。
我可以使用此查询获取全局配置:
SELECT params from #__extensions where extension_id=22;
其中22是com_component
扩展名的ID。然后我可以将结果与特定文章的结果合并。
但是有一种简单的方法可以实现这一目标吗? Joomla!在这个框架中有一个特定的类?
答案 0 :(得分:3)
我首先要加载文章的模型:
// Get an instance of the generic articles model
$model = JModel::getInstance('Article',
'ContentModel',
array('ignore_request' => true));
获取具体文章......
$model->getItem($id)
要获得组件全局参数,我相信您可以使用:
$params = &JComponentHelper::getParams( 'COMPONENT_NAME' );
在您的情况下,您需要以下内容:
jimport('joomla.application.component.helper'); // load component helper first
$params = JComponentHelper::getParams('com_content');
我建议你看一下Joomla附带的文章模块的代码! 2.5.x,因为他们做了很多类似于你想要创建的东西。你也可以阅读this article,它有点过时但我认为它仍然大部分成立(除了jparams被jforms取代)。