У меня есть матрица флажков, которые я выкладываю в таблицу. Мне нужно перетащить эту матрицу в несколько форм, а иногда несколько раз в одной форме, поэтому я настроил ее как подчиненную форму.
После долгих исследований и размышлений я решил, что лучший способ украсить подчиненную форму - это использовать декоратор viewScript. Код для добавления подчиненной формы в форму выглядит примерно так:
$this->addSubForm(new Test_Form_Connection_Config_Base(), 'user');
$this->user->setDecorators(array(
array('viewScript', array('viewScript' => '_forms/userConfig.phtml')),
'Description',
'FieldSet',
));
По большей части это работает нормально, но у меня есть одна проблема - я не могу заставить работать нотацию массива. Очевидно, это становится проблемой, когда я включаю матрицу более одного раза в определенную форму.
Я пытался использовать setIsArray (true), однако это не имело никакого эффекта. Кажется, мне нужно запустить декоратор FormElements, чтобы получить нотацию массива, но тогда я получу дубликат набора полей на странице (один раз визуализируется с помощью FormElements, а другой - с помощью viewScript).
Я мог бы вручную создать имя каждого элемента, чтобы отразить нотацию массива, но это похоже на долгий путь. Есть ли другие варианты, которые я пропускаю?
Спасибо ...!