Як я можу створити власний гачок (подібний до тих, що створює ядро Drupal) для використання інших модулів Drupal?
Як я можу створити власний гачок (подібний до тих, що створює ядро Drupal) для використання інших модулів Drupal?
Відповіді:
Ви фактично не створюєте гачки. Ви можете використовувати допоміжні функції , такі як module_invoke_all()
, module_invoke()
або drupal_alter()
для виклику всіх функцій , відповідних очікуваної шаблон імені. Викликані функції зазвичай знаходяться за допомогою module_implements()
.
Навіть якщо гачки не потрібні для роботи, найкраща практика - документувати їх MODULE.api.php
, створюючи порожні заглушки hook_NAME
з коментарями до документації .
Ви також можете створити гачок, за допомогою гачки_trigger_info ви можете створити новий гак, і у своєму модулі вам потрібно його реалізувати. Наприклад, припустимо, ви хочете створити архів вузлів і помістити в нього старі вузли. Ви також хочете запустити гачок, коли робота з архівом виконана. це буде щось подібне
function hook_trigger_info() {
return array(
'node' => array(
'archive_nodes' => array(
'label' => t('Archive old nodes'),
)
)
);
}
Визначивши гак, ваш модуль відповідає за реалізацію гака та дії, використовуючи module_invoke () або module_invoke_all () .
Ви можете ввімкнути trigger
модуль, щоб побачити цей новий гак на вкладці вузла.