warning: Invalid argument supplied for foreach() in /home/user/www/drupal/includes/form.inc on line 1205.
Inquadriamo la situazione: sto sbattendo la testa per capire da dove viene questo errore, l'errore mi compare in una determinata pagina di ammministrazione di un modulo sviluppato da me che ovviamente è generata da un determinato "Page Callback" che fà uso dei form dei drupal.
L'errore è quello scritto in alto al post ed è dovuto al codice sottostante
<?php
$options = node_get_types('names'); //controllo quali content type sono attivi
$form['nomeform'] = array(
'#type' => 'checkboxes',
'#title' => 'Bulk\'s mode unsetting',
'#options' => $options, // le etichette di ogni checkbox sono le content type che abbiamo controllato prima
'#default_value' => variable_get('nomeform', ''),
'#description' => 'Select the "node type" to disable all variables.',
);
?>
facendo qualche ricerca ho capito che l'errore compare nella situazione in cui un "foreach" non riceve un array com'è richiesto e nello specifico se commento la riga.
<?php
'#default_value' => variable_get('nomeform', '')
?>
l'errore scompare, quindi mi sembra di capire che l'errore è dovuto al fatto che le variabili che cerca di leggere in realtà non esistono. A conferma di questa ipotesi c'è il fatto che se SALVO la pagina in questione l'errore scompare "magicamente".
...
L'errore non è di vitale importanza ma può essere utile capire perchè succede... avete qualche idea??
In pratica lui nei default_values si aspetta un array che contenga le chiavi degli options che sono stati flaggati, quindi potresti avere una cosa tipo:
Ciao
Marco
--
My blog
Working at @agavee