2014-10-27 3 views
0

При использовании поля EntityReference и в hook_form_alter() скрывает это поле с ['доступом '], поскольку после отправки формы $ form_state ввод пуст для этого поля.

У меня есть поле field_to_a, которое является полем entityrefence от содержания типа В, который ссылается тип контента A.

Я использую hook_form_alter(), в котором я использую строку $form['field_to_a']['#access'] = FALSE;, а также настройку этого поля в определенном значение

Когда я нажатие кнопки (моя кнопка Save) представить на узел оный:

  • Когда я использую $form['field_to_a']['#access'] = FALSE;: Я теряю $ form_state [ 'вход'] [ 'field_to_a'] (не делает существуют) и $form['field_to_a']['und'][0]['target_id']['#default_value'] (empt y), и у меня есть ошибки PHP.
  • Когда я использую NOT $form['field_to_a']['#access'] = FALSE;: У меня есть $ form_state ['input'] ['field_to_a'] правильно, и узел сохраняется без ошибок.

Когда я использую любое другое поле, я могу использовать ['#access'] = FALSE и не терять вход в $ form_state для этого поля.

Есть ли какое-либо решение или обходное решение для этой вещи? Это ошибка или нормальное поведение?

Thanks

+0

hook_field_attach_form() должна быть использована в качестве hook_form_alter() теряет значения по умолчанию – user3563097

ответ

0

Сначала проверьте, что вы получили.

попробовать это:

function hook_submit($form, &$form_state) { 
    watchdog("Your Form data ", '<pre>'.print_r($form_state, true).'</pre>'); 
} 

Затем проверьте отчет журнала. Вы получите значение в $form_state['values']

Это может поможет вам

 Смежные вопросы

  • Нет связанных вопросов^_^