Функция hook_form_alter используется для внесения изменений в представленные формы. Вы должны позаботиться об именовании хуков, поскольку Drupal загружает хуки в соответствии с предложениями по названию.
В приведенном выше коде вы не указали имя модуля в имени функции. То есть слово hook
должно быть заменено на module name
.
Например, если имя вашего модуля foo
. Тогда вышеуказанный хук должен быть записан как:
<?php
/**
* Implements hook_form_alter().
*/
function foo_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
echo "alter the form"; exit;
}
Кроме того, в вашем коде, поскольку вы указали register
в коде, я предполагаю, что это идентификатор формы, на которую вы нацеливаетесь. Для этого вам следует изменить код на:
<?php
/**
* Implements hook_form_FORM_ID_alter().
*/
function foo_form_register_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
echo "alter the form"; exit;
}
Вы можете сослаться на разницу между приведенными ниже официальными ссылками на Drupal: hook_form_alter hook_form_FORM_ID_alter