I have a field that is set with these keys+option names, that I am trying to get my code to format correctly to replace them. The GUI created field file:
But I am not managing to get that correct syntax, the same as above, by sending config_set an array, or a string.
I found https://docs.backdropcms.org/api/backdrop/core%21modules%21field%21modules%21list%21list.module/function/list_allowed_values_string/1 but that didn't format the array the same way either.
Solved it by reading the list module code...
Example here:
function torch_save_appstatus($stat=array()){if(empty($stat)){$stat = torch_get_status();array_multisort(array_column($stat, 'order'), SORT_ASC, $stat);}$t=[];// update the field settings for appstatusif(!empty($stat)){foreach($stat as $k=>$v){$nm="";if(!empty($v['parent'])){ // build child string$nm = " - ";}$name=$nm.$v['name'];$t+=[$v['id']=>$name]; //assoc array addition}$av= list_allowed_values_string($t); //list module function$asv=list_extract_allowed_values($av, 'list_text', false);//list module functionconfig_set('field.field.field_appstatus', 'settings.allowed_values',$asv);//overwrite the field jsonreturn $t;}}