Mój moduł niestandardowy definiuje niestandardową jednostkę, która rozszerza klasę EntityAPIController. Udało mi się sprawić, że w zasadzie działa, tzn. Wyświetla pola itp. Za pomocą mojego niestandardowego pliku tpl.php. Chciałbym jednak utworzyć mymodule_preprocess_entity
funkcję (jak sugerowano tutaj ), aby dodać niestandardowe zmienne do pliku tpl.php. Ale taka funkcja nie działa (nie jest wywoływana).
Ponadto, kiedy wyświetlam ten byt, zauważyłem, że funkcja template_preprocess_entity(&$variables)
z bytu.module też nie działa.
Co jeszcze należy zdefiniować, aby wywołać funkcję wstępnego przetwarzania dla encji niestandardowej?
Odpowiedzi:
Utworzyłem funkcję ogólną,
mymodule_preprocess(&$variables, $hook)
która pokazała, że konkretna nazwa funkcji powinna byćmymodule_preprocess_myentity
. Gdziemyentity
jest właściwa nazwa bytu.Więc ten kod działa dla mnie:
źródło
Bardziej ogólne podejście:
Niestety
module_implements()
nie sprawdza, czy aktywny motyw implementuje hak wstępnego przetwarzania.źródło