Post on 15-Jul-2015
P resentazioni
● Chi siamo● Chi siete:
– Nome, ruolo aziendale– Esperienza lavorativa– Aspettative sul workshop
Contenuti
● Il problema: gestione multimagazzino in Magento● Possibili soluzioni● Soluzione scelta● Presentazione del modulo Multiwarehouse● Realizzazione del modulo Multiwarehouse● Conclusioni● Q&A
I l problema : multima ga zzino
● Magento gestirebbe più magazzini attraverso le tabelle cataloginventory_stock*
● Il Model che mappa lo stock è la classe Mage_CatalogInventory_Model_Stock che però è forzata programmaticamente all'utilizzo di un solo magazzino
P ossibil i soluzioni
● “Sbloccare” la gestione multimagazzino nativ a di Magento– PRO: strutture dati e relativi Model già esistenti– CONTRO: rewrite necessarie, possibili regressioni
● Implementare una gestione multimagazzino personal i zzata– PRO: nessuna rewrite, maggiore controllo– CONTRO: strutture dati e relativi Model da creare e gestire
Soluzion e scelta
● Gestione multimagazzino p ersonalizzata– Gestione magazzini– Gestione quantità prodotto su magazzini diversi– Logica di scarico quantità all'ordine– Dettaglio quantità/magazzino sull'ordine
Mo dulo Multiwareh ouse“P ro of of concept”
● Struttura di base del Modulo● Creazione triade per il Warehouse Model
– Grid– Edit Form
● Creazione triade per il WarehouseProduct Model– Form gestione quantità multiple in dettaglio Prodotto– Metodo Observer: handleMultipleQuantitiesPost()
● Metodo Observer: decrementQuantities()
Conclusioni● Il modulo è un “Proof of concept”; possibili evoluzioni:
– gestione del reso;– integrazione import/export;– notifiche ai magazzini;– altro.
● La logica di scarico quantità all'ordine può essere raffinata; alcuni esempi:– calcolo basato sulla distanza ;– calcolo basato sul numero di magazzini coinvolti;– calcolo basato sui costi di spedizione .
Contatti● Module repository
– https://github.com/webgriffe/Webgriffe_Multiwarehouse
● Alessandro Ronchi– http://www.alessandroronchi.com– http://github.com/aleron75– @aleron75
● Roberto Gambuzzi– http://gambuzzi.it– http://github.com/gbinside– @gbinside