Joomla 3.x组件更新数据库配置
我刚刚开始使用Joomla,并且一直在学习创建Hello World组件教程。在经历了一些重大的头痛之后,我一次又一次的开始,我终于有了进展 我现在有一个工作组件,在我的组件选项中,我有一个由SQL查询填充的下拉列表,如我的Joomla 3.x组件更新数据库配置,joomla,configuration,joomla-component,joomla3.5,Joomla,Configuration,Joomla Component,Joomla3.5,我刚刚开始使用Joomla,并且一直在学习创建Hello World组件教程。在经历了一些重大的头痛之后,我一次又一次的开始,我终于有了进展 我现在有一个工作组件,在我的组件选项中,我有一个由SQL查询填充的下拉列表,如我的admin/config.xml <?xml version="1.0" encoding="utf-8"?> <config> <fieldset name="greetings" label="COM_
admin/config.xml
<?xml version="1.0" encoding="utf-8"?>
<config>
<fieldset
name="greetings"
label="COM_HELLOWORLD_CONFIG_GREETING_SETTINGS_LABEL"
description="COM_HELLOWORLD_CONFIG_GREETING_SETTINGS_DESC"
>
<field
name="greeting"
type="sql"
label="Select an article"
query="SELECT id, greeting FROM #__helloworld"
key_field="id" />
</fieldset>
<fieldset
name="permissions"
label="JCONFIG_PERMISSIONS_LABEL"
description="JCONFIG_PERMISSIONS_DESC"
>
<field
name="rules"
type="rules"
label="JCONFIG_PERMISSIONS_LABEL"
class="inputbox"
validate="rules"
filter="rules"
component="com_helloworld"
section="component"
/>
</fieldset>
</config>
我遇到了和这个问这个问题的家伙一样的问题
我想选择一个选项并更新我的组件表,以便在另一列(默认)中更新所选选项的id
params字段没有更新,看起来好像什么都没做,尽管它可能是
admin/models
文件夹中是否有我应该更新以更新数据库的类,如果有,我应该放什么?我已经搜索了几个小时,我遇到的任何答案都只是给出了代码,而不是将其放入哪个函数中扩展配置数据以json的形式存储在params列下的#u extensions表中
通过查看我的IDE中的joomla源代码,似乎没有用于更新扩展参数的包装器,因此必须执行如下查询
$query = $db->getQuery(true)
->update('#__extensions')
->set('params= ' . json_encode($params))
->where('element= ' . $extensionName)
;
$db->setQuery($query);
$result = $db->execute();
仅供参考,该查询未经测试,只是所需方法的一个示例