Хорошо помните, что в вашем контроллере, если у вас есть что-то вроде:
$this->form = new Form_Someform();
Вы всегда можете сделать:
$this->form->addElement(etc...)
Прямо перед использованием isValid () или заполнить.
Таким образом, в вашем контроллере, когда кто-то отправляет форму, при создании объекта формы вы можете проверить, были ли какие-либо объекты выбора созданы динамически, а затем создать соответствующие Zend_Elements и просто проверить их.Кроме того, когда вы перезагружаете эту форму, вы просто создаете элементы в зависимости от того, что находится в вашей базе данных.
Вы также можете использовать конструктор форм, чтобы передать массив блоков выбора и затем создать его прямо там же.Вот что я делаю.
Важно помнить, что у вас есть контроль над конструктором и объектом формы между его созданием и использованием функций populate () и isValid ().
Надеюсь, это поможет.