Domanda

Stiamo integrando Magento con un sistema esistente.Il nostro sistema esistente ha già numeri d'ordine.C'è stata molta confusione da quando Magento ha i propri numeri d'ordine, e il nostro sistema esistente ha numeri di ordine diversi, quindi stiamo cercando di ottenere i numeri dell'ordine per abbinare.

Ho un osservatore istituito per sales_order_place_after dove ottengo il numero dell'ordine dal nostro sistema esistente.Non sembra funzionare a $ ordine-> setincrementid ($ nostro_existing_order_id) Non so se questo è davvero tutto così buono di un'idea comunque ..

Davvero, l'obiettivo finale che vogliamo è per il numero dell'ordine nelle ricevute e-mail che vengono inviate per abbinare l'ordine nei nostri sistemi esistenti.C'è un modo migliore per farlo accadere?

È stato utile?

Soluzione

Quello che consiglierei è creare un nuovo campo in sales_flat_order per memorizzare questo ID, quindi aggiornare il modello diverso secondo necessità per visualizzare questo numero.In questo modo avrai un percorso di aggiornamento pulito nel futuro

Altri suggerimenti

Una soluzione sarebbe creare il proprio modello di entità EAV.Se guardi nella tabella eav_entity_type nella colonna increment_model che vedi che c'è un percorso di classe lì.Sostituisci quelli con il proprio modello personalizzato, ad esempio [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;
    }
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top