Как получить значение поля формы в друпале 7? - PullRequest
0 голосов
/ 06 сентября 2011

Я добавил поле в page_node_form со следующим кодом.

</p> <pre><code>switch($form_id){ case 'page_node_form': $form['comment_popup'] = array( '#type' => 'select', '#title' => t('Comments popup'), '#options' => array('On' => 'On', 'Off' => 'Off'), );

}

Поскольку форма комментария появляется на узле, поэтому я хочу, чтобы в поле comment_popup было значение Off, тогда поле темы не должно отображаться в форме комментария, а когда поле comment_popup имеет значение 'On', поле темы должно отображаться.

Я пробовал следующий код, но он не работал.

</p> <pre><code>case 'comment_node_page_form': if($form_state['comment_popup']['#value'] == 'Off') { $form['subject']['#access']=FALSE; }

Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 07 сентября 2011

То, что вы делаете, не может работать, боюсь, вы устанавливаете элемент в одной форме, а затем пытаетесь прочитать его из другой формы, что не имеет смысла.

Что вынужно добавить обработчик отправки в функцию page_node_form, которая сохраняет значение comment_popup для этого узла в пользовательской таблице.Затем в форме alter для `comment_node_page_form 'необходимо прочитать данные comment_popup для этого конкретного узла и принять решение о доступе к элементам формы на основе этого.

Надеюсь, что это поможет

...