Projekt

Allgemein

Profil

GX-Task #44721

Von Moritz Bunjes vor fast 9 Jahren aktualisiert

Für die Speicherung der Bestelldaten ist nicht mehr die CheckoutProcessProcess-Klasse selbst zuständig. Stattdessen wird der neue OrderWriteService genutzt. Die Lagerverwaltung und der Mailversand finden noch in der CheckoutProcessProcess-Klasse statt. Diese werden voraussichtlich zur Shopversion 2.9 durch einen neuen Service ersetzt werden.  

 Durch die Nutzung des OrderServices werden einige Methoden nicht mehr ausgeführt. Diese wurden entsprechend als deprecated markiert. Sie werden ab der Shopversion 2.9 nicht mehr existieren. Die Methoden, die ab 2.9 voraussichtlich nicht mehr ausgeführt werden, wurden ebenso als deprecated markiert und mit einem entsprechenden Kommentar versehen.   
 
 ## Methoden, die ab 2.7 nicht mehr ausgeführt werden: 
 save_order_status_history 
 save_order_total 
 save_order_product 
 save_customizer_data 
 save_order_product_quantity_unit 
 (save_property_data) kein Speicherung von Bestelldaten 
 save_order_product_attribute 
 add_order_data 
 add_order_total_data 
 add_order_status_history_data 
 add_order_product_data 
 add_order_product_quantity_data 
 add_order_product_attribute_data 
 add_order_product_download_data   
 
 
 ## Methoden, die voraussichtlich ab 2.9 nicht mehr ausgeführt werden: 
 process_products 
 update_stock 
 update_product 
 send_mail 
 save_property_data 
 update_special 
 process_attributes 
 update_product_attribute 
 update_attribute_stock 
 save_tracking_data 
 reset 
 send_order_mail 
 add_product_data 
 add_special_data 
 add_product_attribute_data 
 add_tracking_data   
 
 
 ## Neue Methoden ab 2.7: 
 _initOrderData 
 _setCCNumber 
 _setComments 
 _getShippingTime 
 _addProperties 
 _addAttributes 
 _getOrderTotalCollection 
 _getOrderItemCollection 
 _getDiscount 
 _getBillingAddress 
 _getDeliveryAddress 
 _getCustomerDefaultAddress 
 _getCustomerEmail 
 _getCustomerTelephone 
 _getLanguageCode 
 _getCustomerStatusInformation 
 _getCustomerIP 
 _getOrderShippingType 
 _getOrderPaymentType 
 _getCurrencyCode 
 _getCustomerNumber 
 _getCustomerVatId 
 _getCustomerId 
 _getComment 
 _getOrderStatusId 
 _setOrderId 
 _setOrderItemAddonValues 
 _getOrderAddonValuesCollection 
 _setOrderItemAttributeCollection 
 _setDownloadInformation   
 
 
 ## So wird ab 2.7 die Bestellung angelegt:  

 ~~~php 
 $orderId = $this->orderWriteService->createNewCustomerOrder($this->_getCustomerId(), 
                                                             $this->_getCustomerStatusInformation(), 
                                                             $this->_getCustomerNumber(), 
                                                             $this->_getCustomerEmail(), 
                                                             $this->_getCustomerTelephone(), 
                                                             $this->_getCustomerVatId(), 
                                                             $this->_getCustomerDefaultAddress(), 
                                                             $this->_getBillingAddress(), 
                                                             $this->_getDeliveryAddress(), 
                                                             $this->_getOrderItemCollection(), 
                                                             $this->_getOrderTotalCollection(), 
                                                             $this->_getOrderShippingType(), 
                                                             $this->_getOrderPaymentType(), 
                                                             $this->_getCurrencyCode(), 
                                                             $this->_getLanguageCode(),  
                                                             $this->_getComment(), 
                                                             $this->_getOrderStatusId(), 
                                                             $this->_getOrderAddonValuesCollection()); 
 $this->_setOrderId($orderId); 

 $this->orderWriteService->updateOrderStatus(new IdType($this->order_id), new IdType($this->tmp_status), 
		                                        new StringType($this->coo_order->info['comments']), 
		                                        new BoolType(SEND_EMAILS === 'true')); 
 ~~~ 

Zurück