ZF: ZEND_SUBFORM - как сделать имя элемента как list [id] [name]? - PullRequest
1 голос
/ 31 мая 2011

Я создаю элементы для подчиненной формы:

for($i = 1; $i<10; $i++)
     $name = new Zend_Form_Element_Text("[$i][name]");

Но [и] будут удалены после отправки страницы.

Итак, как настроить имя, например, список [идентификатор] [имя]?

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Использование

$element->setBelongsTo( $array )

и в этом массиве $ вы можете определить столько уровней [], сколько вам нужно, вам не нужно создавать для такого количества уровней подформ. Вам не нужно создавать для этого даже какие-либо подформы.

Наслаждайтесь!

1 голос
/ 31 мая 2011

Создайте еще один Zend_Form_SubForm для каждого $ i:

for ($i = 1; $i < 10; $i++) {
    $subform = new Zend_Form_SubForm();
    $subform->addElement('text', 'name');
    $mainform->addSubForm($subform, $i);
}

Текстовые элементы будут иметь имена «1 [имя]», «2 [имя]» и т. Д. Если вы хотите, чтобы они назывались «list [1] [name]», вам нужен другой уровень подчиненной формы:

$listform = new Zend_Form_SubForm();
$mainform->addSubForm($listform, 'list');
for ($i = 1; $i < 10; $i++) {
    $listsubform = new Zend_Form_SubForm();
    $listsubform->addElement('text', 'name');
    $listform->addSubForm($listsubform, $i);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...