/** * Fügt ein Unterformular an der gewünschten Position ein. * * Nach dem ausführen dieser Funktion muss $this->sortSubFormsBySortOrder() ausgeführt werden bevor das Formular * verwendet wird, damit alle Unterformulare an der richtigen Position stehen. * * @param \Admin_Form_Document_Person $subForm Unterformular, daß eingefügt werden soll * @param int $position SortOrder/Position für neues Formular */ protected function insertSubForm($subForm, $position) { $subFormCount = count($this->getSubForms()); if ($position > $subFormCount) { $position = $subFormCount + 1; } else { if ($position < 0) { $position = 1; } } $subForm->setOrder(-1); $subForm->getElement(Admin_Form_Document_Person::ELEMENT_SORT_ORDER)->setValue($position); $this->addSubForm($subForm, $this->getSubFormBaseName() . $subFormCount); }
public function testSetOrder() { $form = new Admin_Form_Document_Person(); $form->setOrder(5); $this->assertEquals(5, $form->getOrder()); $this->assertEquals(6, $form->getElementValue('SortOrder')); }