Обозначение массива Zend_Form без индексов

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

<dd id="dupa-element">
    <input type="text" name="dupa[]" value="">
    <input type="text" name="dupa[]" value="">
</dd>

Однако я не могу найти способ ввести несколько входных элементов в один элемент, используя нотацию массива без индексов.

В настоящее время я делаю следующее:

$elt1 = new Zend_Form_Element_Text('1');
$elt1->setOptions(array('belongsTo' => 'dupa'));

$elt2 = new Zend_Form_Element_Textarea('2');
$elt2->setOptions(array('belongsTo' => 'dupa'));

Хотя это работает, Zend_Form рассматривает их как независимые элементы (которые могут иметь разные наборы валидаторов и фильтров - это своего рода круто), и результирующий HTML-код выглядит примерно так:

<dd id="dupa-1-element">
    <input type="text" name="dupa[1]" id="dupa-1" value="">
</dd>
<dd id="dupa-2-element">
    <input type="text" name="dupa[2]" id="dupa-2" value="">
</dd>

Есть ли (предпочтительно простой) способ добиться безиндексного нотация массива, которую я ищу?

6
задан Kyle 18 May 2011 в 09:00
поделиться