Nachdem ich die Dokumentation gelesen und den Code durchsucht habe, kann ich nicht genau herausfinden, wofür die Funktion entity_view gedacht ist.
In der Dokumentation wird erläutert, dass der Ansichtsrückruf ausgeführt wird, sofern er definiert ist, wobei auf die Ansichtsfunktion des Entitätscontrollers zurückgegriffen wird. Da ich den EntityAPIController verwende , möchte ich diese Ansichtsfunktion verwenden , die eine ähnliche Struktur wie unten hinzufügt.
Daher nahm ich an, dass entity_view eine Struktur wie diese ersetzen soll (Teil eines Seitenrückrufs).
// Prepare the entities
entity_prepare_view('entity_type', $entity_field_query_result);
// Apply theme to all entities
foreach($entity_field_query_result as $key => $item) {
$entity->content = array();
$entity->content += array(
'#theme' => 'my_entity_theme',
'#element' => $item,
'#view_mode' => 'full',
'#language' => LANGUAGE_NONE,
);
$render[$key] = $entity->content;
}
return $render;
Also habe ich das durch ersetzt
$render = entity_view('entity_type', $entity_field_query_result);
return $render;
Dies zeigt jedoch eine leere Seite, auf der mir die vorherige Funktion eine Liste von Entitäten zeigte. Ich habe benutzerdefinierte Themen wie folgt auf diese Entitäten angewendet. Könnte dies ein Problem sein?
function my_module_theme($existing, $type, $theme, $path) {
return array(
'my_entity_theme' => array(
'variables' => array('element' => null),
'template' => 'my_entity_theme',
'path' => $path . '/template',
),
);
}
Ist meine Annahme zu entity_view korrekt oder fehlen mir Schritte, um zu einer renderbaren Ausgabe zu gelangen?
#theme
Wert habenentity
, wo es sein solltemy_entity_theme
. Also heißt das falsche Thema. Ich werde sehen, wo das schief geht.