Zend Form – Как установить значения на элементах подформы?

array 'subQuantity' => array 'quantity_6' => string '23' (length=2) 'quantity_16' => string '23' (length=2) 'quantity_18' => string '23' (length=2) 'update' => string 'Update' (length=6) 

Добрый день! Я только что создал подчиненную форму из существующей формы zend и закупаю эти данные при отправке формы. Основываясь на опубликованных данных (элементы quantity_), я хотел бы установить значения для элементов подформы. Является ли это возможным? Заранее спасибо. приветствия и счастливое кодирование!

Solutions Collecting From Web of "Zend Form – Как установить значения на элементах подформы?"

Не уверен, хотите ли вы одновременно устанавливать значения отдельных элементов подформы или всех из них. Тем не менее вы можете использовать метод заполнения. Например:

  $yourForm->populate(array( 'subQuantity' => array( 'quantity_6' => 'some value 1', 'quantity_16' => 'some value 2', 'quantity_18' => 'some value 3', ) )); 

РЕДАКТИРОВАТЬ:

Вот несколько способов установки отдельных полей:

 $yourForm->populate(array( 'subQuantity' => array( 'quantity_16' => 'some value', ) )); // OR $yourForm->getSubForm('subQuantity')->getElement('quantity_16')->setValue('some value'); // this also should work (not sure if it works with underscore in 'quantity_16' though) $yourForm->subQuantity->quantity_16->setValue('some value'); 
  $formSuper = new ContractLink_Form_ContractAllotmentSuper(); foreach($allotments as $key => $allotment) { $form = new ContractLink_Form_ContractAllotment(); $form->populate($allotment); $formSuper->addSubForm($form, 'contractAllotmentForm' . $key); }