如何在J2.5中更新模块参数?

时间:2014-03-13 07:08:37

标签: joomla2.5

我正在尝试更新参数的值。我在xml文件中有一个隐藏字段,我需要更新它的值,值是动态的。 我使用

获取了参数
jimport('joomla.application.module.helper');
$module = JModuleHelper::getModule('mod_name');

我想避免使用数据库查询方法。 是否有joomla预定义函数来实现此任务?

提前致谢

-Neil

1 个答案:

答案 0 :(得分:0)

不幸的是,Joomla没有内置的API功能来设置参数而不使用数据库查询。请尝试以下方法:

<?php
  jimport( 'joomla.application.module.helper' );
  $module = JModuleHelper::getModule( 'mod_name'); // change module name here

  $params = new JRegistry();
  $params->loadString($module->params);    
  $params->set('param_name', 'value'); // change parameter name and the value

  $db = JFactory::getDbo();
  $query = $db->getQuery(true);   
  $query->update('#__extensions AS a')
        ->set('a.params = ' . $db->quote((string)$params))
        ->where('a.element = "mod_name"'); //change module name here    
  $db->setQuery($query);
  $db->query();
?>

我已经测试了这段代码,请告诉我它是否有效