2016-10-22 68 views
0

我想挂钩并写入我的帐户页面。所以请提供示例示例或过程,以便为drupal8编写带有信息文件和模块文件的hook form alter module。如何更改drupal8用户登录表单输入和验证?

+0

ü要改变什么呢?在这之前改变,做ü知道U可以在后台添加字段并在帐户上添加许多内容?/admin/config/people/accounts/fields – Matoeil

+0

将表单名称更改为电子邮件地址。示例用户/登录页面有用户名和密码,但我想更改为用户名或电子邮件地址和密码。我想要hook.info和hook.module示例代码 –

回答

2

只是复制粘贴标准。信息创建一个模块在.module

添加挂钩形式

/** 
* callback action on submit (custom method plus bas) 
* 
* @param $form 
* @param \Drupal\Core\Form\FormStateInterface $form_state 
* @param $form_id 
*/ 
    function yourModuleName_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) { 


if ($form_id == 'user_login_form') { 

    //code to modify your form input 

    $form['actions']['submit']['#submit'][] = 'custom_submit_method'; 

    //do something similar to create a custom validation handler 

} 

} 

/** 
* @param $form 
* @param \Drupal\Core\Form\FormStateInterface $form_state 
* @param $form_id 
*/ 
function custom_submit_method(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) { 

    //code to modify the submit if needed 

} 
+0

谢谢,我得到了答案。但我用作modulename_form_user_login_form_alter,并且我应用了属性占位符$ form ['name'] ['#attributes'] ['placeholder'] = t('username or email');.我希望更多地锻炼标题更改和自定义提交。如果有什么面临问题,我会发表评论。为什么你使用block_generator_form_alter。 –

+0

我编辑了回复,块生成器是我给我的模块的名称的一部分 – Matoeil

+0

是这个自定义提交功能工作正常,但如何获得该函数中的后期值。我用这样($ cuser = $ form_state ['values'] ['name']),但它不起作用。 –