Domanda

Passi per riprodurre:

    .
  1. Fai clic su Modifica sul primo ordine, I.e 000000001
  2. Fare clic su Modifica sul secondo ordine, I.e 000000002
  3. Fai clic su Aggiungi prodotti sulla schermata di modifica del primo ordine
  4. Selezionare qualsiasi prodotto e click aggiungi prodotti selezionati per ordinare

    Vedrai ora che i contenuti del 000000001 sono tutti i prodotti da 000000002 - così come il prodotto selezionato.

    Ho anche notato alcuni strani comportamenti quando si tratta di posizionarli gli ordini dopo averli modificati per esempio, per esempio, la modifica del 00000000002 comporterà il nuovo ID di incremento 000000001-1.

    Penso che questo bug possa derivare dall'oggetto adminhtml/session_quote (app/code/core/Mage/Adminhtml/Model/Session/Quote.php). Questo significa che Magento può gestire solo la modifica di un singolo ordine per sessione? Sicuramente differenziare tra gli oggetti di sessione utilizzando l'ID dell'entità genitore o qualcosa su quelle linee?

    Modifica: Lo stesso comportamento è esperto quando si effettua due ordini contemporaneamente, il che mi porta a credere che sia decisamente correlato all'impossibilità di dividere gli oggetti adminhtml/session_quote su base ID di entità dell'ordine genitore. .

È stato utile?

Soluzione

Non penso che questo sia un bug. È piuttosto una limitazione su come viene implementata l'ordine di modifica dell'amministratore.
Quando colpisci modifica acceso e ordina (e quando si crea e ordina da zero) nel backend la sessione è coinvolta. Guarda come sono le classi Mage_Adminhtml_Sales_Order_EditController e Mage_Adminhtml_Sales_Order_CreateController e cosa fanno.

Quindi quando premi Modifica sul secondo ordine, la sessione viene cancellata (vedere Mage_Adminhtml_Sales_Order_EditController::startAction) e non stai modificando più il primo ordine.

Ma il modulo dal primo ordine modificato è pieno di dati del primo ordine. Solo le chiamate Ajax che fai da questo punto nella schermata Modifica ordine restituiranno i valori dal secondo ordine che modifica.

Ecco perché ricevi risultati misti del primo e del secondo ordine.

Quando si invia il modulo dal primo ordine, stai inviando dati come l'ID cliente o la valuta dal primo ordine ma hai ottenuto gli articoli dal secondo ordine.

La lezione qui è non modificare mai 2 ordini all'interno della stessa sessione.

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