Je dois récupérer une commande dans Magento par son identifiant. Comment charger une commande spécifique par ID?
Jusqu'ici j'ai construit la requête initiale:
Mage::getModel('sales/order');
Pour charger une commande par incrément ID on ferait:
Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here
Pour charger par identifiant d'entité, il vous suffit d'appeler load
:
Mage::getModel('sales/order')->load(24999); //use an entity id here
Obtenir les détails de la commande dépend de quelques composants:
Chargez votre commande: (db: sales_flat_order)
Ensuite, filtrez votre collection d'articles en fonction de la commande.
Ce que la plupart vont faire, c'est: (db: sales_flat_order_item)
Ce qui montrera les produits visibles. Le problème, c’est que l’objet «configurable» sera récupéré dans la collection (qui a étrangement le sku de l’enfant dans l’enregistrement). Je trouve cela imprévisible dans le cas des changements de SKU car le SKU historique n’est plus présent. Au lieu de cela, je trouve préférable de faire une approche alternative comme suit.
itérer dans la collection d'articles de commande
la source
intval
lagetQtyOrdered
, mais cela peut être une valeur décimale :)addAttributeToSelect
. Merci.