Strano funzionamento di _block_info()

1 contenuto / 0 new
Strano funzionamento di _block_info()

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.

Drupal Version: