在后端组件中显示模块的参数并通过组件保存它们

时间:2014-01-16 23:25:32

标签: joomla joomla-extensions joomla3.0

嗨我有点找到了在组件中显示模块的方法,但我想知道如何通过组件保存参数我的意思是编辑组件中的值并保存它。 模块名称和参数是事先已知的。因此呼叫将是这样的

jimport( 'joomla.application.module.helper' );
$module = &JModuleHelper::getModule( "ModuleName");

$params = new JParameter($module->params);

这样做的目的是为客户轻松编辑某些值,因此新手浏览所有joomla内容(在我的情况下)是一件痛苦的事。

总而言之,无法弄清楚如何保存模块的参数

1 个答案:

答案 0 :(得分:0)

嗨,这是在Joomla中保存组件,模块或插件的参数的代码。

首先加载当前的参数,进行更改,然后再次保存;确保始终首先加载当前的参数。

    $mparams = JComponentHelper::getParams( 'com_littlehelper' );
    $params = $mparams->get('params');
    $mparams->set('params.favicons_sourcepath','icons');
    $this->saveParams($mparams, $this->componentName);

private function saveParams($params, $extensionName, $type='component') {
    $db = JFactory::getDBO();
    $query = $db->getQuery(true);
    $query->update('#__extensions AS a');
    $query->set('a.params = ' . $db->quote((string)$params));
    $query->where(sprintf('a.element = %s AND a.%s = %s',
            $db->quote($extensionName),
            $db->quoteName('type'),
            $db->quote($type)
            ));
    $db->setQuery($query);
    return $db->execute();
}

此代码来自我在JED上发布的LittleHelper扩展程序。