Drupal 8 использовать крючок формы изменить, чтобы добавить ссылку в форме регистрации - PullRequest
0 голосов
/ 25 апреля 2020

Я действительно новичок в drupal 8. Я хочу добавить ссылку в регистрационной форме.

Я перепробовал все способы изменений в hook_form_alter () и flu sh. Это все еще не работает.

Это мой код модуля.

<?php

/**
 * Implements hook_theme().
 */

function hook_register_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
     echo "alter the form"; exit;
}


Ответы [ 2 ]

1 голос
/ 25 апреля 2020

Функция 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

0 голосов
/ 29 апреля 2020
**
 * Implements hook_form_FORM_ID_alter().
 */
function hook_form_user_register_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  // your code here
}

Замените hook в имени функции на имя модуля или имя файла модуля, для которого вы пишете приведенный выше код.

Примечание. Приведенное выше изменение относится к форме регистра по умолчанию, предоставленной друпал 8

...