Drupal 7: получение значений из переключателей формы API - PullRequest
1 голос
/ 25 января 2012

Итак, это моя форма:

$active = array(0 => t('Poster'), 1 => t('Postcard'), 2=>t('Post it'));

$form['radioimage']['active'] = array(
'#type' => 'radios',
'#default_value' => isset($node->active) ? $node->active : 1,
'#options' => $active,
);    

Я хочу знать, какой переключатель был выбран. Я пытаюсь получить доступ к данным, но я не знаю, как они называются, по какой-то причине я даже не могу использовать devel.

Я попробовал ниже, но все они потерпели неудачу

$form_state['values']['radioimage']['active'][0]
$form_state['values']['radioimage']['active']

1 Ответ

5 голосов
/ 25 января 2012

Drupal по умолчанию сглаживает значения в массиве $form_state, поэтому

$form['radioimage']['active']

действительно получится в

$form_state['values']['active']

Если вы хотите явно сохранить иерархию имен, тогда выследует установить ключ #tree на родительском элементе:

$form['radioimage'] = array(
  '#type' => 'container',
  '#tree' => TRUE
);

В этом случае значение будет в

$form_state['values']['radioimage']['active']
...