Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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;
 }