In https://api.backdropcms.org/api/backdrop/1/search/system_settings_form it mentions how you can specify a different config file for some of the form elements/values via '#config'. What do you do though if you want to save to the same top-level '#config', but to a different setting?
So say that your form element is $form['my']['cool']['element'] = array( ... ); but you want the setting to be saved as my_cool_element in the .json? ...is a custom submit handler the only option in that case?
So basically, I understand that you can do this:
$primary_config = config('mymodule.settings');
$secondary_config = config('mymodule.moar.settings');
$form = array('#config' => 'mymodule.settings');
$form['first_setting'] = array( ... );
$form['second_setting'] = array(
...
'#config' => 'mymodule.moar.settings',
...
);
...and that this saves first_setting in mymodule.settings.json, while second_setting is saved in mymodule.moar.settings.json.
What I need to do though is something like this:
$config = config('mymodule.settings');
$form = array('#config' => 'mymodule.settings');
$form['first_setting'] = array( ... );
$form['second_setting'] = array(
...
'#config_setting' => 'call_this_something_else',
...
);
...so both settings will be saved in the same mymodule.settings.json file. The first one as "first_setting", while the second one as "call_this_something_else". So instead of this:
{
"_config_name": "mymodule.settings",
"_module": "mymodule",
"first_setting": 123,
"second_setting": "abc",
}
...I would instead want to have this:
{
"_config_name": "mymodule.settings",
"_module": "mymodule",
"first_setting": 123,
"call_this_something_else": "abc",
}
Recent comments
Thanks, that's very helpful
Where can I find webform submitted emails?
Correct - I linked to it in the post above
Where can I find webform submitted emails?
wow, that was quick! Do you mean the 'Maillog / Mail Developer' module?
Where can I find webform submitted emails?