我真的是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;
}
函数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