Ich baue ein Drupal 7-Modul, um einen maßgeschneiderten Feldtyp zu erstellen. Ich habe alle erforderlichen Hooks implementiert. Meine hook_field_formatter_view()
Funktion sieht so aus:
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;
}
Ich habe dann die folgende theme()
Funktion definiert :
function theme_test($variables) {
return '<h1>Hello World</h1>';
}
Aber wenn ich die Seite betrachte, wird nichts ausgegeben. Wenn ich mir die letzten Protokolleinträge ansehe, wird folgende Meldung angezeigt:
Theme key 'test' not found.
Wenn ich meinen Wert für das Rendering-Array '#theme' von MYMODULE_field_formatter_view in eine integrierte Designfunktion wie 'item_list' ändere, funktioniert dies. Aber aus irgendeinem Grund wird meine benutzerdefinierte Themenfunktion nicht übernommen.
Ich habe die Themenregistrierung hunderte Male neu erstellt und die Caches geleert.