如何在Joomla中获取全局文章参数?
我正在用Joomla编程一个模块!2.5. 该模块在给定位置显示一篇文章。 我需要文章属性(即如何在Joomla中获取全局文章参数?,joomla,joomla-extensions,joomla2.5,Joomla,Joomla Extensions,Joomla2.5,我正在用Joomla编程一个模块!2.5. 该模块在给定位置显示一篇文章。 我需要文章属性(即show\u title,link\u titleecc.) 通过这段代码,我获得了文章的特定属性: $db =& JFactory::getDBO(); $query = 'SELECT * FROM #__content WHERE id='.$id.' AND state=1'; $db->setQuery($query); $item = $db->loadObject();
show\u title
,link\u 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\u dump
得到$attribs
变量:
array(26) {
["show_title"]=>
string(0) ""
["link_titles"]=>
string(0) ""
[...]
}
变量$attribs
表示文章的特定属性。当元素设置为时,
表示“使用全局配置”
我可以通过此查询获取全局配置:
SELECT params from #__extensions where extension_id=22;
其中22是com\u组件
扩展的id。然后我可以将这里的结果与特定文章的结果合并
但是有没有一个简单的方法来实现这一点?乔姆拉!在这个框架中有一个特定的类吗?我将从为文章加载模型开始:
// 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,因为他们做了很多与您尝试创建的内容类似的事情。你也可以读一读,它有点过时了,但我认为它仍然大部分是正确的(除了jparams被jforms取代)您必须设置JModel
的参数。这花了我一段时间。下面是代码:$appParams=JFactory::getApplication()->getParams()$模型->设置状态('params',$appParams)代码>。没有这一点,你就错了。