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();
}
}
GitHub Issue #:
3347
Recent comments
I use Lando (a wrapper for docker) and find settings changes happen straight away
How often is the settings.php loaded.
You might need to add a Relationship in the View to Flags. Or there might be a setting on the content type. I can't recall for certain but I think it's possible.
No Flag fields in Views
Try using caching in the View settings, set to 24 hours. This should work for anonymous site visitors.
View to show a different node each day