更改注册表格


8

我想修改Drupal 7中默认的新用户注册表格。我不想请求“用户名”,而是请求带有帮助说明的“全名”,以输入文本“用户名是您的全名,因为您通常会使用它” ”。

我可能还要进行一些其他小的格式更改。

我找不到管理菜单项来访问与此问题有关的任何内容。我无法在任何目录中找到任何文件来指示该文件是新用户注册表的来源,而无法找到该文件。

我意识到这有点不合常规,但这对我们的需求很有用。我知道一个允许输入名字/姓氏的模块,但是在处理过程中它会将输入更改为名字的首字母/姓氏,即Tom Thumb =“ tthumb”的用户名。如果仅将用户名转换为与输入相同的名称,则模块“ Realname Registration”将正是我要寻找的模块。

那不一定解决其他格式编辑问题,但是我很高兴能够手动编辑用户名字段下的注册表单帮助文本,指示新用户使用其真实姓名进行注册。

感谢您提供的任何帮助。

JM

Answers:


13

最简单的方法是创建一个自定义模块并使用hook_form_alter()

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id === 'user_register_form') {
    $form['account']['name']['#title'] = t('Full name');
    // perform other changes here
    // var_dump() or krumo() the contents of $form to see what you can change
  }
}

如果您愿意,还可以使用hook_form_alter 的变体来专门针对表单,而不必执行if

function mymodule_form_user_register_form_alter(&$form, &$form_state, $form_id) {
  $form['account']['name']['#title'] = t('Full name');
  // perform other changes here
}

如何设置密码字段值?我找不到结构
xstean 2015年

管理员和访客注册的形式相同。要检测是管理员“创建用户”表单还是注册表单,可以使用user_is_anonymous()
milkovsky '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.