суть в том, что есть у меня есть тип материла "Заявка", заявка может быть как на ремонт(принтер не печатает), так и на обслуживание(установка мультимедиа в аудитории). пытаюсь сделать реализацию через states, с чекбоксами перехватывать событие у меня получилось, тут нет.
Нужно что бы раздел(фиелдСет где полный конфиг, серийник и прочая хрень становился видимым только при выборе "ремонта").
(программное аппаратная просто втупую в базу будет заносится, для фильтрации в дальнейшем)
$form['cel'] = array(
'#type' => 'radios',
'#title' => t('Цель обращения'),
'#default_value' => variable_get('comment_preview', 1),
'#options' => array(t('Ремонт'), t('Обслуживание')),
);
$form['tip_probl'] = array(
'#type' => 'fieldset',
'#title'=>'Описание неисправности',
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'visible' => array(
':input[name="cel"]' => array('options' == 'Ремонт'),
),
);
$form['tip_probl']['posting_settings'] = array(
'#type' => 'radios',
'#title' => t('Тип неисправности'),
'#default_value' => variable_get('comment_preview', 1),
'#options' => array(t('Программная'), t('Аппаратная')),
);
Комментарии
по замыслу будет просто бааальшая таблица... разделять не совсем уместно имхо... там будет проверка по полю на выводе стоять..
Это должно быть вроде в массиве #states?
Я так поняла тут по принципу фактически условия, то есть то есть события одного из объектов(сделать видимым), происходит после выполнения заданного условия, в моём случае, я хочу выводить фиелдсет, если в верхней радиогруппе выбрано "Ремонт"..
источник-- http://drupalace.ru/lesson/izmenenie-sostoyaniy-formy-v-drupal-7
Вам orion76 правильно указал, что вы пропустили #states + неправильный синтаксис
$form['tip_probl'] = array(
'#type' => 'fieldset',
'#title'=>'Описание неисправности',
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#states' => array(
'visible' => array(
':input[name="cel"]' => array('value' => 0), // 0 - ключ от "Ремонт"
),
),
);
да, невнимательность меня вечно губит(
Спасибо.
а это какого черта тут делает?