form_set_value e array, mi perdo le chiavi!

4 contenuti / 0 new
Ultimo contenuto
form_set_value e array, mi perdo le chiavi!

con il seguente codice

function book_enhance_admin_settings_validate($form, &$form_state) {
  $new_values = array(
    'article' => 'article',
    'book' => 'book',
    'page' => 'page'
  );
  form_set_value($form['book_child_type2'], $new_values, $form_state);
}

mi aspettavo di creare una variabile esattamente come il vettore $new_values, invece nel database si registra un array senza chiavi

dove sbaglio?

http://api.drupal.org/api/drupal/includes--form.inc/function/form_set_va..., forse ti serve un &$form_state (la &).
Sicuro sia da mettere 'article' => 'article', non è forse un 'type => 'article'.
Cosa stai tentando di fare?

la '&' mi da errore di funzione deprecata, e anche a guardare gli esempi in giro tutti usano senza la '&'

quello che stavo cercando di fare era una piccola miglioria per il modulo book. Attualmente si possono fare delle strutture gerarchiche utilizzando appunto book. Nei settings puoi scegliere qualunque content type per essere un book, anche più di un CT, ma i children possono essere solo di un tipo. Questo penso perché altrimenti il link "add a new child" non saprebbe dove mandarti.

Invece io volevo poter decidere per ogni CT quale fosse il child di default, in modo che si potessero avere strutture gerarchiche diverse per ogni tipo di content type

Per fare questo ho bisogno che la variabile 'book_child_type' invece di essere una stringa con il nome del CT figlio, sia un array, dove in base al padre (chiave), riesco ad estrarre il figlio (valore)

UPDATE

in realtà non mi strippa le key, ma prende le key e me le mette come value e mi perdo i value