Ciao a tutti, oggi mi è capitata una cosa un po' strana:
function mymodule_block_info() {
$tree = taxonomy_get_tree(VID_CATEGORY);
$blocks = array();
foreach ($tree as $tax) {
//Questo funziona
$blocks['cat '.$tax->tid] = array(
'info' => '-- Elenco sottocategoria '.$tax->name,
'cache' => DRUPAL_NO_CACHE,
);
//Questo NON funziona
$blocks['cat_'.$tax->tid] = array(
'info' => '-- Elenco sottocategoria '.$tax->name,
'cache' => DRUPAL_NO_CACHE,
);
}
//Questo funziona
for ($i = 0; $i<10;$i++) {
$blocks['num_'.$i] = array('info' => 'i_: '.$i);
}
}
La cosa strana è il carattere "_" all'interno del "DELTA". Per alcuni casi funziona (il for) per altre cose (il foreach) non funziona. Eppure il foreach è corretto perché il DELTA SENZA "_" funziona.
Per funziona intendo dire che l'elenco dei blocchi viene restituito, per "NON funziona" intendo dire che l'elenco restituito è vuoto.
Eppure se stampo un kpr() prima del "returns" l'array è corretto.
Chi mi spiega l'arcano motivo prima che mi metta scrivere qualche cosa su drupal.org ?
M.