Question

Nous intégrons Magento à un système existant.Notre système existant dispose déjà de numéros de commande.Il y a eu beaucoup de confusion puisque Magento a ses propres numéros de commande et que notre système existant a des numéros de commande différents, nous essayons donc de faire correspondre les numéros de commande.

J'ai un observateur configuré pour sales_order_place_after où j'obtiens le numéro de commande de notre système existant.Cela ne semble pas fonctionner avec $order->setIncrementId($our_existing_order_id) Je ne sais pas si c'est vraiment une si bonne idée de toute façon..

En réalité, l'objectif final que nous souhaitons est que les numéros de commande dans les reçus par courrier électronique envoyés correspondent aux numéros de commande dans nos systèmes existants.Existe-t-il une meilleure façon d’y parvenir ?

Était-ce utile?

La solution

Ce que je recommanderais est de créer un nouveau champ dans sales_flat_order pour stocker cet identifiant, puis mettez à jour le modèle différent au besoin pour afficher ce numéro.De cette façon, vous aurez une voie de mise à niveau propre dans le futur

Autres conseils

Une solution serait de créer votre propre modèle d'entité eav.Si vous regardez dans le eav_entity_type tableau dans la colonne increment_model vous voyez qu'il y a un chemin de classe là-bas.Remplacez-les par votre propre modèle personnalisé, par exemple [module]/entity_increment_erp

class [Namespace]_[Model]_Model_Entity_Increment_Erp extends Mage_Eav_Model_Entity_Increment_Abstract
{
    public function getNextId()
    {
        /**
        * your custom code to generate the increment ID, 
        * as long as it is unique
        */

        return $id;
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top