Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Joomla 3.x组件更新数据库配置_Joomla_Configuration_Joomla Component_Joomla3.5 - Fatal编程技术网

Joomla 3.x组件更新数据库配置

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_

我刚刚开始使用Joomla,并且一直在学习创建Hello World组件教程。在经历了一些重大的头痛之后,我一次又一次的开始,我终于有了进展

我现在有一个工作组件,在我的组件选项中,我有一个由SQL查询填充的下拉列表,如我的
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();
仅供参考,该查询未经测试,只是所需方法的一个示例