The "insert" part of this request is basically the respective issue as https://www.drupal.org/project/drupal/issues/66183
One of the most difficult things about manipulating Drupal forms is the process of manipulating the arrays themselves. And one of the things that I commonly want to do is "stick this stuff in after that". But I have yet to find a PHP function to manipulate arrays in this way.
So I wrote this function called
array_insert(). Perhaps there's a cleaner way to handle this, but it seems like a function that should be available in Drupal core. It would certainly help with a lot of commonhook_form_alter()tasks....
The "move" is something new (no equivalent d.org issue that I could find). I would like to be able to move an existing key in the array from its current position to the start/end of the array. So two new functions, like
backdrop_array_move_key_to_start($array, $key)/backdrop_array_move_key_to_end($array, $key)I usually achieve the "move to start" with this:
$my_array = array_merge(array($key => $my_array[$key]), $my_array);...and "move to end" with this:
$move = $my_array[$key]; unset($my_array[$key]); $my_array[] = $move;
There could be more efficient/performant/readable ways, but it would be a much better DX if we did not have to search the web or previous code in Backdrop to find how to best do it. Helper functions with obvious names would be ideal for all that.
Recent comments
@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
Thanks, I have to go out now, I will try later on and report back
Importing the staged config throws an error: another field with the same name already exists
Hi Francis. Yes, what config do you have in staging for it? You might have configs like: field.field.field_video_embed field.instance.node.page....
Importing the staged config throws an error: another field with the same name already exists