覆盖注册模块&隐藏或显示输入文本drupal 7

时间:2019-04-06 18:12:54

标签: drupal-7 hook-form-alter

我创建了一个模块和一个钩子来覆盖注册模块的表单:

function custommodule_form_alter(&$form, $form_state, $form_id)  {
    // retrieve name & surname
    global $user;
    $user_fields = user_load($user->uid);
    $name = $user_fields->field_name['und']['0']['value'];
    $surname = $user_fields->field_surname['und']['0']['value'];
    // var_dump($name); die();

    // check the form_id
    if($form_id=='registration_form'){
        if( $form['who_is_registering']['#options']['registration_registrant_type_me'] =='Myself') {
            $form['field_name']['und'][0]['value']['#default_value'] = $name;
            $form['field_surname']['und'][0]['value']['#default_value'] = $surname;
        } else {
            $form['field_name']['und'][0]['value']['#default_value'] = '';
            $form['field_surname']['und'][0]['value']['#default_value'] = '';
        }
    }
}

在原始模块中,我们可以根据选择值隐藏或显示字段。例如,如果选择位于“我自己”上,则用户邮件字段不可见。

如果选择位于“我自己”上,我想将这些字段设置为空,否则将其显示为空。

实际上,名称和姓氏是在字段中定义的。

0 个答案:

没有答案