Php joomla获取并设置组件的配置

Php joomla获取并设置组件的配置,php,joomla,configuration,joomla-extensions,Php,Joomla,Configuration,Joomla Extensions,一段时间以来,我一直在尝试创建一个简单的管理表单来保存配置,以及一种从站点端访问这些配置而不必访问数据库的方法。我只是不明白这怎么能帮我做到这一点。这为如何获取保存的配置提供了一些帮助,但我仍然无法确定如何以及在何处保存配置 我正在使用joomla 2.5 这是我正在努力开发的一个组件。在应用程序的站点端,我有一个方法来获取配置,如下所示: //We add config code. $componentParams = &JComponentHelper::getParams('com

一段时间以来,我一直在尝试创建一个简单的管理表单来保存配置,以及一种从站点端访问这些配置而不必访问数据库的方法。我只是不明白这怎么能帮我做到这一点。这为如何获取保存的配置提供了一些帮助,但我仍然无法确定如何以及在何处保存配置

我正在使用joomla 2.5

这是我正在努力开发的一个组件。在应用程序的站点端,我有一个方法来获取配置,如下所示:

//We add config code.
$componentParams = &JComponentHelper::getParams('com_rocket');
$param = $componentParams->get('speed', 'null'); 
我相信这将工作良好,但我不知道如何保存配置的地方,并有一个方法来编辑它以及


感谢您的努力。

要获取Joomla 2.5的组件参数,请尝试使用以下方法:

$app = JFactory::getApplication('site');
$componentParams = $app->getParams('com_rocket');
$param = $componentParams->get('speed', null);

// Display the result
echo $param;
要设置组件参数,请尝试以下操作:

$value = "some value here";
$param->set('speed', $value);

$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->update($db->quoteName('#__extensions') . ' AS a')
      ->set('a.params = ' . $db->quote((string)$param))
      ->where('a.element = "com_rocket"');

$db->setQuery($query);
$db->query();

只是为了完整。我终于找到了一种更简单的方法。 要管理组件的配置,我需要做的就是:

  • 在admin文件夹中创建配置类

  • 在display方法中,我添加了对上述工具栏方法的调用

                // Set the toolbar
            $this->addToolBar();
    

  • 沃拉,一切都安排好了

    创建一个简单的管理表单?更详细地解释。你用的是什么Joomla版本?你能分享你的代码吗?我想这是你创建的组件,对吗?@Lodder我刚刚更新了问题,提供了更多细节。谢谢你的时间,伙计。
    protected function addToolBar() { JToolBarHelper::title('settings'); JToolBarHelper::preferences('com_rocket'); }
    
                // Set the toolbar
            $this->addToolBar();