Як створити гачок?


18

Як я можу створити власний гачок (подібний до тих, що створює ядро ​​Drupal) для використання інших модулів Drupal?

Відповіді:


20

Ви фактично не створюєте гачки. Ви можете використовувати допоміжні функції , такі як module_invoke_all(), module_invoke()або drupal_alter()для виклику всіх функцій , відповідних очікуваної шаблон імені. Викликані функції зазвичай знаходяться за допомогою module_implements().

Навіть якщо гачки не потрібні для роботи, найкраща практика - документувати їх MODULE.api.php, створюючи порожні заглушки hook_NAME з коментарями до документації .


6
+1 про документацію, що є новим стандартом кодування від Drupal 7, і багато модулів contrib почали використовувати його і для D6. Зауважте, що замість порожньої функції ще краще, коли ви надаєте приклад реалізації, щоб показати, що можна зробити з цим гаком.
Бердір

1
Зазвичай ви надаєте код для гачка, переліченого в MODULE.api.php, якщо є фактична реалізація цього гака.
kiamlaluno

0

Ви також можете створити гачок, за допомогою гачки_trigger_info ви можете створити новий гак, і у своєму модулі вам потрібно його реалізувати. Наприклад, припустимо, ви хочете створити архів вузлів і помістити в нього старі вузли. Ви також хочете запустити гачок, коли робота з архівом виконана. це буде щось подібне

function hook_trigger_info() {
    return array(
            'node' => array(
                    'archive_nodes' => array(
                        'label' => t('Archive old nodes'),
                    )
            )
    );
} 

Визначивши гак, ваш модуль відповідає за реалізацію гака та дії, використовуючи module_invoke () або module_invoke_all () .

Ви можете ввімкнути triggerмодуль, щоб побачити цей новий гак на вкладці вузла.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.