QuickForm2. Установка значений по умолчанию.

KPD

Новичок
Добрый день.

Подскажите пожалуйста, как можно назначить значение по умолчанию элементу, который находится в группе?

Код:
$form = new HTML_QuickForm2('elements');
$form->addDataSource(new HTML_QuickForm2_DataSource_Array(array(
  'TimeGroup[period2]' => get_max('report1', 'period2')
)));
$fdocs = $form->addElement(
  'select', 'docs', array('multiple' => 'multiple', 'size' => 5),
  array('options' => $doc_select, 'label' => 'Документы для построение графика:')
);
$fdocs->addRule('required', 'Выберите тип документов для отображения', null,
  HTML_QuickForm2_Rule::ONBLUR_CLIENT_SERVER);
   
$fsTime = $form->addElement('group', 'TimeGroup')->setLabel('Период времени')->setSeparator(' - ');;     
$fsTime->addElement(
  'select', 'period1', null, array('options' => get_dt_list('report1', 'period1'), 'label' => 'С:')
);
$fsTime->addElement(
  'select', 'period2', null, array('options' => get_dt_list('report1', 'period2'), 'label' => 'по:')
);
сделал вот так - не работает
в документации нигде не нашёл, как можно это сделать.
если элемент не в группе то нет проблем, всё просто и ясно.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
в документации нигде не нашёл, как можно это сделать.
В документации в паре мест упоминается, что для элементов со "сложными" именами структура массива должна совпадать с тем, что приходит в $_GET / $_POST, т.е. тут
PHP:
$form->addDataSource(new HTML_QuickForm2_DataSource_Array(array(
'TimeGroup' => array(
      'period2' => get_max('report1', 'period2')
)
)));
Рекомендую прочитать раздел "Element Values and Data Sources", а то могут быть вопросы потом "почему setValue() не работает".
 
Сверху