Dividi l'ordine in ordini separati e calcola la spedizione separatamente con up e fedex e indirizzi di origine diversi


8

Quando un cliente arriva nel nostro negozio e va a controllare più articoli, devo scrivere un modulo per calcolare la spedizione in base a diversi fattori. Dalla mia ricerca ho determinato che dovrebbe accadere quanto segue:

Innanzitutto, devo separare gli articoli del carrello in diversi ordini per il calcolo della spedizione. Voglio che gli ordini vengano ordinati in base al valore dell'attributo "fornitore". "Venditore" è un attributo che abbiamo aggiunto al sistema applicabile a tutti i prodotti semplici. Quindi, nel carrello c'è una maglietta rosa con "fornitore" valore "1", una matita con "fornitore" valore "1" e una maglietta blu con "fornitore" valore "2". Tutti gli articoli con valore "fornitore" "1" devono essere un ordine, mentre l'articolo con valore "fornitore" "2" deve essere un ordine diverso. Vedo che questa altra domanda risponde a questo dilemma, ma poi ne solleva un'altra.

In secondo luogo, devo calcolare la spedizione con le funzionalità di spedizione UPS e Fedex predefinite di Magento, ma con un indirizzo di origine determinato dal numero di valore "fornitore" (memorizzato in una tabella di database separata). Eventuali suggerimenti sono benvenuti!

Sto usando frammenti di codice per iniziare da qui e qui .

Probabilmente avrò diverse domande, ma le prime sono quelle in grassetto sopra.

AGGIORNAMENTO Ho deciso che sarebbe meglio ignorare il modulo principale magento di spedizioni multiple per fare ciò che sto cercando di fare. Per favore, aiutami a trovare dove e cosa mettere per manipolare la funzionalità multentopping di Magento per suddividere gli articoli di un ordine in spedizioni basate sull'attributo "fornitore"! Sto lottando con questo.


1
Il multishipping di Magento lo fa in modo nativo. Forse puoi utilizzare la funzionalità multishipping senza mostrarla al cliente?
Filwinkle,

Fuori tema: ti dispiacerebbe accettare le risposte o chiudere le tue vecchie domande aperte? Ci stiamo adoperando per aumentare il tasso di risposta durante la beta. Grazie.
Filwinkle,

1
Esaminerò ora sia le risposte multishipping che quelle non accettate. Spesso non ho accettato perché sono passato a qualcos'altro e ci tornerò. Tuttavia cercherò e vedrò se ne ho perso un po '
CaitlinHavener,

Un'altra alternativa è implementare qualcosa come Unirgy uDropship che incorpora anche la funzionalità di tipo fornitore che stai scrivendo; ma offre ai venditori un portale per la spedizione, genera etichette di spedizione e molto altro. Non lavoro per, e non sono approvato da Unirgy.
Filwinkle,

1
Non voglio usare un'estensione dropship. Ci sono molti fattori per cui non posso.
CaitlinHavener,

Risposte:


3

Qualcosa da considerare qui è che potrebbe essere necessario applicare solo alcune modifiche estetiche front-end ai modelli multishipping ( template/checkout/multishipping/) in modo che i due ordini appaiano semplicemente come un ordine per il cliente. I modelli shipping.phtmle overview.phtmldividono i due ordini, ciascuno con un'intestazione (indirizzo 1 di 2, ecc.) E un'altra copia per mostrare che sono due ordini.

Invece del valore predefinito, potrei suggerire di essere un po 'creativo su questi modelli in modo che i due ordini vengano semplicemente divisi in modo che appaiano semplicemente come due elementi pubblicitari separati.

Il prossimo passo sarebbe gestire diverse origini di spedizione in base all'attributo del fornitore. Questo potrebbe essere fatto in Mage_Shipping_Model_Shipping. Puoi vedere proprio in alto dove Magento sta afferrando l'indirizzo di origine della spedizione dalla configurazione e poi più in basso nel requestToShipment()metodo, gli elementi dell'indirizzo di origine sono assegnati alla richiesta di spedizione (che presumo sarebbe utilizzata in seguito a seconda del metodo di spedizione chiamato).

Potrebbe almeno essere una direzione in cui andare avanti. Leggendo la tua domanda e il tuo aggiornamento ho l'impressione che tu lo stia rendendo più difficile del necessario. Ricorda sempre che in genere è meglio lasciare che Magento faccia quello che vuole fare e modificare solo piccoli bit per gestire i tuoi casi specifici. La maggior parte di ciò di cui hai bisogno è già fatto nel core, quindi sembra un po 'sciocco riscrivere i componenti multi-spedizione quando potrebbero esserci opzioni più semplici.


In che modo quindi calcolerebbe la spedizione per ogni spedizione inclusa nell'attributo del fornitore?
CaitlinHavener,

I calcoli di spedizione non cambieranno, in quanto Mage_Shipping_Model_Shippingsostituiscono semplicemente l'indirizzo di origine nella richiesta di spedizione con l'origine assegnata a quel fornitore. Magento avrebbe quindi continuato la sua attività e tirato tutte le tariffe di spedizione applicabili a quell'ordine. Potrei vedere uno dei moduli di spedizione di WebShopApps utile qui, in quanto ti consente di assegnare metodi di spedizione basati su vari criteri. - di nuovo, questo è tutto in teoria, non ho mai fatto una cosa del genere prima, quindi potrebbero esserci alcuni avvertimenti (ce ne sono sempre). -
pspahn,

Sto verificando quelle estensioni webshopapp. Penso che ciò che sono in questo momento confuso da ... sia ciò che la classe / metodo dice alla classe Mage_Shipping_Model_Shipping "ehi qui è un ordine e questi sono gli articoli in esso". Dove posso trovarlo?
CaitlinHavener,

1
Dai un'occhiata a /app/code/core/Mage/Sales/Model/Quote.php: tieni presente che Magento non è così lineare come altri carrelli della spesa. Scendi nella tana del coniglio e osserva come le virgolette vengono modificate in ordini (e crediti, ecc.). Ad un certo punto troverai i metodi che desideri modificare. Ancora una volta, come ho detto in precedenza, è spesso utile semplicemente investire in un modulo back-end di qualità (e altrettanto importante, il supporto) che realizzerà rapidamente ciò di cui hai bisogno. Ad alcuni dadi e bulloni non piace essere cambiato.
pspahn,

Se hai bisogno di maggiori dettagli, ti preghiamo di aiutarti! Grazie mille per l'aiuto anche qui. Mi stai salvando! Questo è il progetto Magento più difficile che abbia mai avuto ad oggi! magento.stackexchange.com/questions/7635/…
CaitlinHavener
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.