将描述文本插入Drupal用户注册表

时间:2010-08-09 12:26:25

标签: drupal forms profile categories

我正在使用配置文件模块,并为不同的字段提供了几个类别。我想在其中一个类别的顶部添加一小段文字,说明该类别的用途。新用户注册时将显示该信息。基本上我想告诉用户只在某些条件下填写一个类别。谁能告诉我怎么做到这一点?我猜我可以使用hook_form_alter(),但我不知道从哪里开始。

2 个答案:

答案 0 :(得分:1)

你想要create your own module并实现你提到的hook_form_alter。

简而言之:

  • 在hook_form_alter中使用print_r($ form)来查看您需要编辑的内容
  • 类别将包含#type => 'fieldset'和#title => “你把你的类别命名为什么”
  • 删除print_r并添加$ form ['categoryname'] ['#description'] ='我的描述在这里!';

您可能需要更新模块的“权重”,如我所描述的here(将CCK替换为配置文件)。

答案 1 :(得分:0)

作为Chris Ridenour alluded to,您可以在自定义模块中使用hook_form_alter()执行此操作:

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id === 'user_profile_form') {
    // Change personal to the name of the category.
    $form['personal']['#description'] = t('This is a description of your personal information.');
  }
}

在此示例中,它会在用户个人资料表单上的个人类别中添加说明。

您可以在Forms API reference中详细了解可以修改的内容类型。如果您安装了Devel模块,dsm($form)中的hook_form_alter()将会完整打印表单结构,以便您了解可以更改的内容。