Mein benutzerdefiniertes Modul definiert eine benutzerdefinierte Entität, die die EntityAPIController-Klasse erweitert. Ich habe es geschafft, es im Grunde zum Laufen zu bringen, dh Felder usw. über meine benutzerdefinierte Datei tpl.php anzuzeigen. Ich möchte jedoch eine mymodule_preprocess_entity
Funktion (wie hier vorgeschlagen ) erstellen , um der Datei tpl.php benutzerdefinierte Variablen hinzuzufügen. Eine solche Funktion wird jedoch nicht ausgeführt (wird nicht aufgerufen).
Außerdem habe ich beim Anzeigen dieser Entität festgestellt, dass die Funktion template_preprocess_entity(&$variables)
von entity.module ebenfalls nicht ausgeführt wird.
Was muss noch definiert werden, damit die Vorverarbeitungsfunktion für die aufgerufene benutzerdefinierte Entität aufgerufen wird?
Antworten:
Ich habe eine allgemeine
mymodule_preprocess(&$variables, $hook)
Funktion erstellt und sie hat gezeigt, dass der spezifische Funktionsname lauten solltemymodule_preprocess_myentity
. Womyentity
ist der Eigenname der Entität?Dieser Code funktioniert also für mich:
quelle
Ein allgemeinerer Ansatz:
module_implements()
Überprüft leider nicht, ob das aktive Thema den Vorverarbeitungs-Hook implementiert.quelle