jak drupal decyduje o kolejności wykonania tego samego haka w różnych modułach?
22
jeśli są dwa moduły A i B, a oba mają taki sam hak logowania użytkownika. więc kiedy się loguję. wylogowałem się z funkcji A_user_login () i B_user_login (), które jedna wywołała jako pierwsza. i jak drupal decyduje o kolejności wykonania tych dwóch funkcji
Waga, która jest zdefiniowana dla modułu w bazie danych jako {system.weight}. Niższe ciężary pojawiają się wcześniej w procesie wywoływania.
Alfabetycznie według nazwy modułu.
Domyślnie modułom przypisuje się wagę 0, więc prawie wszystkie zaczepy w systemie działają w kolejności alfabetycznej. Niektóre moduły dostosują to w swoich hakach instalacyjnych, aby działały wcześniej lub później w module_invoke_allfunkcji.
Z tego postu na blogu przykładowa implementacja to:
function mymodule_module_implements_alter(&$module_list, $context){if($context ==="node_insert"){
$temp = $module_list['mymodule'];// Removing the mymodule key/value
unset($module_list['mymodule']);// Adding the mymodule key value as the last member in the list
$module_list['mymodule']= $temp;}}
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.
hook_module_implements_alter()
.