Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Joomla中获取全局文章参数?_Joomla_Joomla Extensions_Joomla2.5 - Fatal编程技术网

如何在Joomla中获取全局文章参数?

如何在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();

我正在用Joomla编程一个模块!2.5. 该模块在给定位置显示一篇文章。 我需要文章属性(即
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)。没有这一点,你就错了。