我正在尝试更新参数的值。我在xml文件中有一个隐藏字段,我需要更新它的值,值是动态的。 我使用
获取了参数jimport('joomla.application.module.helper');
$module = JModuleHelper::getModule('mod_name');
我想避免使用数据库查询方法。 是否有joomla预定义函数来实现此任务?
提前致谢
-Neil
答案 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();
?>
我已经测试了这段代码,请告诉我它是否有效