Je construis un module Drupal 7 pour créer un type de champ sur mesure. J'ai implémenté tous les crochets requis. Ma hook_field_formatter_view()
fonction ressemble à ceci:
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;
}
J'ai ensuite défini la theme()
fonction ci-dessous:
function theme_test($variables) {
return '<h1>Hello World</h1>';
}
Mais quand je regarde la page, rien n'est sorti. Si je regarde les entrées récentes du journal, je vois ce message:
Theme key 'test' not found.
Si je change ma valeur '#theme' du tableau de rendu MYMODULE_field_formatter_view en une fonction de thème intégrée comme 'item_list' cela fonctionne. Mais pour une raison quelconque, ma fonction de thème personnalisé n'est pas récupérée.
J'ai reconstruit le registre de thèmes des centaines de fois et effacé les caches.