Beispiel #1
0
 /**
  * Add element to collection
  *
  * @param Mage_XmlConnect_Model_Simplexml_Form_Abstract $element
  * @param bool|string $after
  * @return Mage_XmlConnect_Model_Simplexml_Form_Abstract
  */
 public function add(Mage_XmlConnect_Model_Simplexml_Form_Abstract $element, $after = false)
 {
     // Set the Form for the node
     if ($this->_container->getForm() instanceof Mage_XmlConnect_Model_Simplexml_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));
                 return $element;
             }
             $newOrderElements[] = $currElement;
         }
         $this->_elements[] = $element;
     }
     return $element;
 }