Вот такое:
<input type='hidden' name='items[]' value='1' /> <input type='hidden' name='items[]' value='2' /> <input type='hidden' name='items[]' value='3' />На StackOverflow описывалось решение и оно на первый взгляд неплохое.
// Вариант 1 $form = new Zend_Form(); $subForm = Zend_Form_SubForm(); $subForm->addElement('Text', '1') ->addElement('Text', '2'); $form->addSubForm($subForm, 'element'); // Вариант 2 $form = new Zend_Form(); $form->addElement('Text', '1', array('belongsTo' => 'element')) ->addElement('Text', '2', array('belongsTo' => 'element'));Все хорошо, но класс элемента формы Zend Framework требует уникальное имя.
Решение на скорую руку:
// Custom/Form/Element/HiddenArray.php class Custom_Form_Element_HiddenArray extends Zend_Form_Element { public $helper = 'HiddenArray'; } // Custom/View/Helper/HiddenArray.php class Custom_View_Helper_HiddenArray extends Zend_View_Helper_FormElement { public function HiddenArray($name, $value = array(), $attribs = null) { $value = (array) $value; $html = ''; foreach($value as $val) { $html .= "<input type='hidden' name='{$name}[]' value='{$val}' />\n"; } return $html; } } // ... $elem = new Custom_Form_Element_HiddenArray('items'); $elem->setValue(array(1, 2, 3)); $form->addElement($elem);
Комментариев нет:
Отправить комментарий