Пример #1
0
 public function visitExternalOrder(ShopgateExternalOrder $o)
 {
     // get properties
     $properties = $o->buildProperties();
     // iterate the simple variables
     $properties = $this->iterateSimpleProperties($properties);
     // visit invoice address
     if (!empty($properties['invoice_address']) && $properties['invoice_address'] instanceof ShopgateAddress) {
         $properties['invoice_address']->accept($this);
         $properties['invoice_address'] = $this->array;
     }
     // visit delivery address
     if (!empty($properties['delivery_address']) && $properties['delivery_address'] instanceof ShopgateAddress) {
         $properties['delivery_address']->accept($this);
         $properties['delivery_address'] = $this->array;
     }
     // visit the items and delivery notes arrays
     $properties['custom_fields'] = $this->iterateObjectList($properties['custom_fields']);
     $properties['external_coupons'] = $this->iterateObjectList($properties['external_coupons']);
     $properties['items'] = $this->iterateObjectList($properties['items']);
     $properties['delivery_notes'] = $this->iterateObjectList($properties['delivery_notes']);
     $properties['order_taxes'] = $this->iterateObjectList($properties['order_taxes']);
     $properties['extra_costs'] = $this->iterateObjectList($properties['extra_costs']);
     // set last value to converted array
     $this->array = $properties;
 }