У меня есть Zend_Form с коллекцией элементов Select. Я хочу увеличить количество элементов в этой коллекции, в то же время сохраняя любой выбор, сделанный ранее (предыдущие выборы сохраняются в запросе POST).
я использую $form->setData($data);
сохранить значения в запросе POST в Zend_Form.
Я тогда использую $form->get('countryTest')->setCount(9);
попытаться увеличить количество элементов Selection в коллекции. Тем не мение, setCount()
похоже, не меняет счет при использовании в сочетании с setData()
, Есть идеи почему? Что мне делать вместо этого?
Моя коллекция:
$this->add(array(
'name' => 'countryTest',
'type' => 'Collection',
'options' => array(
'label' => '',
'count' => 3,
'should_create_template' => true,
'target_element' => array(
'type' => 'Select',
'options' => array(
'label' => 'Country',
),
),
),
));
РЕДАКТИРОВАТЬ:
Я также попытался создать новый Zend_Form с большим количеством элементов в коллекции и затем с помощью setData()
но выполнение этого, похоже, уменьшает количество элементов в Коллекции до количества элементов в данных (вероятно, как и ожидалось).
Нашел решение:
Сделайте количество элементов, которые я хочу представить в массиве (в виде ключей), в который я передаю setData()
,
Других решений пока нет …