Jak mogę stworzyć własny hak (podobny do tego, który tworzy rdzeń Drupala) do wykorzystania przez inne moduły Drupala?
18
Nie tworzysz haków. Użyć pomocnika funkcje, takie jak module_invoke_all()
, module_invoke()
lub drupal_alter()
aby wywołać wszystkie funkcje pasujące oczekiwany wzorzec nazwy. Wywoływane funkcje zwykle można znaleźć za pomocą module_implements()
.
Nawet jeśli haki nie działają, najlepszą praktyką jest ich udokumentowanie MODULE.api.php
, tworząc puste kody pośredniczące hook_NAME
z komentarzami do dokumentacji .
Możesz także utworzyć hook, używając hook_trigger_info możesz utworzyć nowy hook, a w module musisz go zaimplementować. Na przykład załóżmy, że chcesz utworzyć archiwum węzłów i umieścić w nim stare węzły. Chcesz również uruchomić hak, gdy operacja archiwizacji zostanie zakończona. będzie coś takiego
Po zdefiniowaniu hooka , twój moduł jest odpowiedzialny za implementację hooka i akcji za pomocą module_invoke () lub module_invoke_all () .
Możesz włączyć
trigger
moduł, aby zobaczyć ten nowy zaczep pod zakładką węzła.źródło