2013-11-07 5 views
3

Как получить доступ к полю внутри группы полей в форме профиля пользователя?
Внутри моего настраиваемого модуля я могу изменить имя учетной записи и адрес электронной почты без проблем, используя приведенный ниже код.drupal 7 Поле профиля form_alter в группе

$form['account']['name']['#description'] = 'Enter a username'; 
$form['account']['mail']['#description'] = 'Enter a valid email address'; 

Это не работает, чтобы изменить поле внутри персональной информации группы полей:

$form['Personal information']['profile_name']['#description'] = 'Enter a valid email address'; 

Часть массива, который я пытаюсь получить доступ ниже.

[Personal information] => Array 
    (
     [#type] => fieldset 
     [#title] => Personal information 
     [#weight] => 1 
     [profile_name] => Array 
      (
       [#type] => textfield 
       [#title] => First name 
       [#default_value] => 
       [#maxlength] => 255 
       [#description] => Enter your first name. The content of this field is kept private and will not be shown publicly. 
       [#required] => 1 
       [#input] => 1 
+0

Какую версию Drupal это? Используете ли вы модуль профиля 2 (https://drupal.org/project/profile2)? – m4olivei

+0

Я не думаю, что проблема связана с полем внутри полевой группы. Я предполагаю, что есть что-то, препятствующее функции применить к правильной форме. Вы можете использовать правило для применения этого изменения, если форма имеет имя и может иметь другой. Вы используете модуль Devel? Если да, используете ли вы dpm() для печати формы $ на экране? Думаю, будет больше одной формы. – ndvo

ответ

0

Я думаю, что если вы должны найти в объекте $ form массив «submit» и изменить данные там.

так, например:

$form['account']['mail']['#description'] = 'Enter a valid email address'; 

bocome это (в моем случае):

$form['submitted']['account']['mail']['#description'] = 'Enter a valid email address'; 
Смежные вопросы