Sto costruendo un modulo Drupal 7 per creare un tipo di campo su misura. Ho implementato tutti gli hook richiesti. La mia hook_field_formatter_view()
funzione è simile a questa:
function MYMODULE_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
switch ($display['type']) {
case 'default':
foreach ($items as $delta => $item) {
$element[$delta] = array(
'#theme' => 'test',
'#item' => $item,
);
}
break;
}
return $element;
}
Ho quindi definito la theme()
funzione di seguito:
function theme_test($variables) {
return '<h1>Hello World</h1>';
}
Ma quando visualizzo la pagina non viene emesso nulla. Se guardo le voci di registro recenti vedo questo messaggio:
Theme key 'test' not found.
Se cambio il mio valore MYMODULE_field_formatter_view render l'array '#theme' in una funzione tema incorporata come 'item_list', funziona. Ma per qualche motivo la mia funzione di tema personalizzato non viene rilevata.
Ho ricostruito il registro dei temi centinaia di volte e ho cancellato le cache.