Here's a typical update hook where we need to update the default config of a view provided by core:
function somemodule_update_1007() {
$data = array(
... 100s OF LINES OF CODE HERE ...
);
$config = config('some.config.file');
if ($config->isNew()) {
$config->setData($data);
$config->save();
}
}
I have always found this to be very annoying, because a) a dev has to convert the contents of the .json file to an array (to be used as the value of $data), and b) we are adding 100s of lines of code to .install files, which makes them unreadable.
Why are we not doing something like this instead?:
function somemodule_update_1007() {
$new_config_file = backdrop_get_path('module', 'somemodule') . '/config/some.config.file.json';
$data = json_decode(file_get_contents($new_config_file), TRUE);
$config = config('some.config.file');
if ($config->isNew()) {
$config->setData($data);
$config->save();
}
}
Recent comments
well @herb I cannot believe it, but the webform module was there in modules on the disc, but missing in the listed modules, so I delete the module folder, and downloaded it again. Then...
My Webform Worksheets have disappeared
The only thing I can think of is to make sure Webform module is enabled and that the content type that needs to contain the webforms has Webform enabled for it. Edit the content type and make...
My Webform Worksheets have disappeared
@yorkshirepudding, In the end I fixed it by deleting the config/active folder contents, copying the config/staging/ files into config/active, importing the database again and clearing the caches...
Importing the staged config throws an error: another field with the same name already exists