drupal - 访问 Drupal 注册表中的内容配置文件 CCK 字段 (user_register)

标签 drupal profile

这是我的目标:
以内容配置文件 CCK 字段“field_firstname”和“field_lastname”自动生成用户名。

我的方法:使用 hook_form_altar 和提交处理程序创建一个自定义模块来自动附加用户名而不触及数据库方案。

我的问题:我不知道如何访问注册表单上的内容配置文件附加 CCK 字段。现在我有这个的实时副本..我正在使用 var_dump($form) 来查找字段。 Live location here .

这是我的模块代码显示,任何指针将不胜感激

/**
 * Implementation of hook_form_alter().
 *
 */
function realname_registration_form_alter(&$form, $form_state, $form_id) {
  switch ($form_id) {
    case 'user_register':
      if (isset($form['account']) && is_array($form['account'])) {
        $form['account']['name']['#type'] = 'hidden';
        $form['account']['name']['#value'] = user_password();
        $form['account']['mail']['#title'] = t('E-mail');
      }
      else {
        $form['name']['#type'] = 'hidden';
        $form['name']['#value'] = user_password();
        $form['mail']['#title'] = t('E-mail');
      }
      //$form['#submit'][] = 'realname_registration_name_submit';
      print "<pre>";
      print_r($form);
      print "</pre>";
      break;
  }
}


/**
 * submit handler
 *
 */
function realname_registration_name_submit($form, &$form_state) {

}

最佳答案

在表单中提交的值始终位于 $form_state['values'][...] .如果你不知道它们叫什么,你可以打印出 $form_state变量并检查它。

在您的情况下,看起来这是您需要的:

$first_name = $form_state['values']['field_firstname'];
$last_name = $form_state['values']['field_lastname'];

您需要注意的一件事是,用户名必须是唯一的,而名称可能不是。您还需要为新用户公开用户名,以便他们知道如何登录。

关于drupal - 访问 Drupal 注册表中的内容配置文件 CCK 字段 (user_register),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4208776/

相关文章:

php - 如何从查询中获取节点

maven-2 - 是否可以覆盖父 POM 中已为配置文件定义的插件的配置?

groovy - 如何在 Maven 配置文件中将 ${basedir} 属性的反斜杠替换为斜杠

c - 快速计算 C 程序中执行的指令数的方法

drupal - 在 Drupal 中,如何在不修改实际核心的情况下覆盖核心模块中的模板?

php - dompdf 和 img 标签,图像不会显示

drupal ----被 $form_state 参数弄糊涂了

ruby-on-rails-3 - 用户注册 Rails3 & Devise 后如何创建配置文件

ruby-on-rails - 默认个人资料图片图片助手

javascript - 获取中的 OAuth1 身份验证