Frage

Wir integrieren Magento in ein bestehendes System.Unser bestehendes System hat bereits Bestellnummern.Es gab viel Verwirrung, da Magento eigene Bestellnummern hat und unser bestehendes System unterschiedliche Bestellnummern hat. Wir versuchen also, die Bestellnummern zusammenzubringen.

Ich habe einen Beobachter für sales_order_place_after eingerichtet, wo ich die Bestellnummer aus unserem bestehenden System erhalte.Es scheint nicht zu funktionieren $order-> setIncrementId($ our_existing_order_id) Ich weiß sowieso nicht, ob das wirklich so eine gute Idee ist..

Wirklich, das Endziel, das wir wollen, ist, dass die Bestellnummern in E-Mail-Quittungen, die gesendet werden, mit den Bestellnummern in unseren bestehenden Systemen übereinstimmen.Gibt es einen besseren Weg, dies zu erreichen?

War es hilfreich?

Lösung

Was ich empfehlen würde, ist es, ein neues Feld in sales_flat_order zu erstellen, um diese ID zu speichern, dann aktualisieren Sie die unterschiedliche Vorlage, um diese Nummer anzuzeigen.Auf diese Weise haben Sie in der Zukunft einen sauberen Upgrade-Pfad

Andere Tipps

Eine Lösung wäre, ein eigenes EAV-Entitätsmodell zu erstellen.Wenn Sie in die eav_entity_type tabelle in der Spalte increment_model sie sehen, dass es dort einen Klassenpfad gibt.Ersetzen Sie diese beispielsweise durch Ihr eigenes benutzerdefiniertes Modell [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;
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top