Модуль веб-формы Drupal не использует webform.api.php

Я работаю с модулем Webform в Drupal 7 и пытаюсь изменить hook_webform_submission_presave в webform.api.php, но кажется, что модуль не использует этот файл, потому что я внес изменения, но ничего не изменил.

Должен ли я сказать Drupal в любом месте, чтобы использовать этот файл? Или что мне делать?

2 ответа

Решение

Во-первых, я надеюсь, что вы знаете, что вы не должны изменять файлы модуля напрямую, а добавить функцию ловушки в свой модуль и изменить эту "ловушку" в начале имени функции с именем машины вашего модуля.

Во-вторых, вы должны очистить все кэши, чтобы Drupal повторно просканировал ваш модуль и выяснил, что появилась новая функция ловушек, и начал ее использовать.

Итак, вы должны сначала создать свой собственный модуль:

https://www.drupal.org/developing/modules/7

Не пугайтесь - это просто папка с информационным файлом, описывающим ваш модуль, и самим файлом модуля (в минимальном случае).

Затем, если ваш модуль называется "Анна", вы должны создать функцию внутри вашего файла модуля и назвать его:

anna_webform_submissions_presave ()

И очистите кеш - после этого Drupal должен начать вызывать функцию хука.

Модули не используют их .api.php файлы. Эти файлы предназначены для документации. Это стандартный способ документирования определений хуков.

Другие вопросы по тегам