Переменное количество полей в форме с использованием Zend_Form в Zend Framework - PullRequest
0 голосов
/ 24 мая 2011

У меня есть таблица БД, и в первой определяется связанная таблица «сайт», а во второй может быть добавлено несколько значений, варьирующихся от одного до многих, которые указывают на «сайт». Пользователь может открыть поле «сайт» в форме со связанными данными, которые затем отображаются в полях, чтобы пользователь мог редактировать значения.

например. «Site One» имеет одно связанное поле.

«Сайт два» имеет три связанных поля.

«Сайт три» имеет два связанных поля. И т.д.

Если бы я запускал его вручную, я бы просто считал данные и создал дополнительные поля, но я строю их с помощью Zend_Form, который, кажется, хочет знать количество полей заранее. Я использую модель в каталоге моделей с _form_xxx.phtml в каталоге сценариев (частично?).

Я новичок в Zend и чувствую себя немного так, есть ли способ в Zend_Form сделать это, так как в противном случае мне бы пришлось переписать php и phtml?

Являются ли под-формы Zend_Form_SubForm подходящими?

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

1 Ответ

0 голосов
/ 24 мая 2011

Что заставляет вас думать, что Zend_Form должен быть статическим?Вы можете динамически создавать поля внутри формы во время выполнения, как считаете нужным.Просто поместите логику, которая добавляет ваши динамические элементы формы в конструктор вашего класса формы (который расширяет Zend_Form).

т.е.из контроллера) и обработайте его по мере необходимости (либо с помощью простого <?php echo $this->form; ?>, либо пользовательского рендеринга, как вам будет удобно.

...