drupal 8使用钩子形式alter在寄存器形式上添加链接

问题描述 投票:0回答:1

我真的是drupal 8的新手。我想以注册形式添加链接。

我已经尝试过有关hook_form_alter()和刷新更改的所有方法。它仍然不起作用。

这是我的模块代码。

<?php

/**
 * Implements hook_theme().
 */

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


drupal-8 hook-form-alter
1个回答
1
投票

函数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,所以我认为它是您要定位的表单的ID。为此,您应该将代码更改为:

<?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_alterhook_form_FORM_ID_alter

© www.soinside.com 2019 - 2024. All rights reserved.