Ejemplo n.º 1
0
 /**
  * @param $args
  * @return string
  */
 public function renderAdminPosition($args = array())
 {
     // init vars
     $elements = array();
     $output = array();
     $layout = $this->_layout;
     $style = isset($args['style']) ? $args['style'] : 'adminedit';
     $this->_order = isset($args['order']) ? $args['order'] : $this->_order;
     $shipping = $this->_order->getShipping();
     // render elements
     $shippingFields = $this->_order->getShippingFields();
     foreach ($shippingFields as $identifier => $data) {
         if ($element = $this->_order->getShippingFieldElement($identifier)) {
             if ($shipping && !$shipping->hasShippingField($identifier)) {
                 continue;
             }
             $element->bindData($data);
             $params = array_merge(array('_layout' => $this->_layout, '_index' => $identifier), $args);
             $elements[] = compact('element', 'params');
         }
     }
     foreach ($elements as $i => $data) {
         $output[$i] = parent::render('element.' . $style, array('element' => $data['element'], 'params' => array_merge(array('first' => $i == 0, 'last' => $i == count($elements) - 1), $data['params'])));
     }
     // restore layout
     $this->_layout = $layout;
     return implode(PHP_EOL, $output);
 }