/** * Add element to collection * * @todo get it straight with $after * @param $element Varien_Data_Form_Element_Abstract * @param $after boolean|'^'|string * @return Varien_Data_Form_Element_Abstract */ public function add(Varien_Data_Form_Element_Abstract $element, $after = false) { // Set the Form for the node if ($this->_container->getForm() instanceof Varien_Data_Form) { $element->setContainer($this->_container); $element->setForm($this->_container->getForm()); } if ($after === false) { $this->_elements[] = $element; } elseif ($after === '^') { array_unshift($this->_elements, $element); } elseif (is_string($after)) { $newOrderElements = array(); foreach ($this->_elements as $index => $currElement) { if ($currElement->getId() == $after) { $newOrderElements[] = $currElement; $newOrderElements[] = $element; $this->_elements = array_merge($newOrderElements, array_slice($this->_elements, $index + 1)); return $element; } $newOrderElements[] = $currElement; } $this->_elements[] = $element; } return $element; }
/** * Add form element * * @param Varien_Data_Form_Element_Abstract $element * @return Varien_Data_Form */ public function addElement(Varien_Data_Form_Element_Abstract $element, $after = null) { $element->setForm($this); $this->getElements()->add($element, $after); return $this; }