【问题标题】:joomla get and set configurations for a componentjoomla 获取和设置组件的配置
【发布时间】:2023-03-24 11:23:01
【问题描述】:

一段时间以来,我一直在尝试创建一个简单的管理表单来保存配置,以及一种从站点端访问这些配置而不必访问数据库的方法。我似乎无法理解documentation 如何帮助我实现这一目标。这link 阐明了如何获取已保存的配置,但我不知道如何以及在何处保存配置。

我正在使用 joomla 2.5

这是我正在尝试开发的组件。在应用程序的站点方面,我有一种方法可以将配置设置为:

//We add config code.
$componentParams = &JComponentHelper::getParams('com_rocket');
$param = $componentParams->get('speed', 'null'); 

我相信这可以正常工作,但是我不知道如何将配置保存在某处并且也有办法对其进行编辑。

感谢您的努力。

【问题讨论】:

  • 创建一个简单的管理表单?更详细地解释。您使用的是什么 Joomla 版本?你能分享你的代码吗?我假设这是您创建的组件,对吗?
  • @Lodder 我刚刚更新了问题以提供更多细节。谢谢你的时间。

标签: php joomla configuration joomla-extensions


【解决方案1】:

只是为了完整起见。我终于设法以更简单的方式做到这一点。 要管理组件的配置,我需要做的就是:

  1. 在 admin 文件夹中创建一个配置类

    <field
        name="speed"
        type="text"
        label="COM_ROCKET_CONFIG_FIELD_SPEED_LABEL"
        description="COM_ROCKET_CONFIG_FIELD_SPEED_DESC"
        default="200"
    /> 
    
    
        </fieldset>
    

  1. 在视图类中我添加了下面的代码

    protected function addToolBar() { JToolBarHelper::title('settings'); JToolBarHelper::preferences('com_rocket'); }
    
  2. 在显示方法中我添加了对上面工具栏方法的调用

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

而且 whallaa 一切都得到了照顾。

【讨论】:

    【解决方案2】:

    要获取 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-29
      • 2011-10-19
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多