Avrei bisogno di interrompere la riduzione dell'inventario mentre effettuo un ordine, Ho bisogno di fare questa attività solo dopo il pagamento riuscito.Interrompere a livello programmatico la quantità di articoli in calo mentre si effettua un ordine in magento
risposta
Sì, possiamo disabilitare questa diminuzione qty pragmaticamente
Come?
Estendere Mage_Checkout_Model_Type_Onepage e Rewrite il metodo saveOrder
Modifiche
prima che le seguenti righe nel metodo di cui sopra, sono intorno a # 740 a # 742
$service = Mage::getModel('sales/service_quote', $this->getQuote());
$service->submitAll();
Aggiungi
$quote = $this->getQuote();
# Ref: Mage_CatalogInventory_Model_Observer::subtractQuoteInventory
$quote->setInventoryProcessed(true);
Questo informerà Magento che dont l'inventario di processo per la citazione, quindi non ci vorrà diminuire il qty, anche se è configurato per farlo.
Sistema> Configurazione> Catalogo> Inventario> Opzioni su Azioni
Diminuzione archivio al momento dell'ordine> Nessun
Si potrebbe semplicemente disattivare la gestione del magazzino in admin, a meno che non ci sia un motivo particolare è necessario per farlo per di qua?
si potrebbe configurare un osservatore da aggiungere alla Qtà dopo il pagamento di successo: È possibile controllare qui per un elenco di eventi di Magento è possibile agganciare: http://www.nicksays.co.uk/magento_events_cheat_sheet/
<events>
<sales_order_payment_pay>
<observers>
<my_observer>
<type>singleton</type>
<class>my/observer</class>
<method>addQty</method>
</my_observer>
</observers>
</sales_order_payment_pay>
</events>
E poi il tuo osservatore avrebbe aggiungere il Qtà di nuovo su ..
<?php
class Company_My_Model_Observer
{
public function addQty($event)
{
$order = $event->getInvoice()->getOrder(); // Mage_Sales_Model_Order
$items = $order->getAllVisibleItems();
foreach($items as $item) {
$qty = $item->getQtyOrdered(); // Amount to add back on
$product = Mage::getModel('catalog/product')->load($item->getProductId());
/**
* Here you would load the product and add this amount back on
*/
}
return $this;
}
}
Che probabilmente non funzionerà come è, ma si ottiene l'idea. È necessario fare attenzione con Magento e gli eventi del tipo di pagamento, poiché i diversi moduli di pagamento possono gestire questi eventi in modo leggermente diverso.
Ciao, grazie per la risposta. In realtà ho tre siti Web nell'installazione di Magento Quindi non desidero modificare la configurazione di stock option, poiché ho bisogno di questa configurazione per altri siti Web. Avrei bisogno di interrompere programmaticamente la diminuzione della quantità quando viene effettuato l'ordine. –
Per tutti coloro che vogliono trovare ulteriori informazioni riguardanti la sottrazione su ordinare, solo bisogno di studiare questo evento sia in Magento EE/CE
sales_model_service_quote_submit_before
- 1. Impossibile aggiornare la quantità di articoli in stock per un prodotto in Magento 1.6.2
- 2. Magento: Aggiorna la quantità di carrello programmaticamente
- 3. Contrassegna un ordine Magento come completo a livello di programmazione
- 4. Come "interrompere" un caso ... mentre in Ruby
- 5. Come confermare a livello di programmazione un utente in Magento?
- 6. Come aggiungere JS a livello di codice in Magento?
- 7. Ottenere prodotti da un ordine in Magento
- 8. Magento: Converti preventivo in ordine
- 9. HashSet Iterare mentre si rimuovono gli articoli in C#
- 10. ordine di test unità di articoli in un elenco
- 11. Magento creare la spedizione con il numero di tracciatura al livello di programmazione
- 12. Aumentare la quantità di articoli nell'elenco Esegui MRU
- 13. Passaggio a livello di applicazione a livello di programma in modo programmatico?
- 14. Magento: Prendi la quantità nel carrello per un determinato prodotto
- 15. Registrazione in Rails, c'è un calo di prestazioni?
- 16. Aggiorna i prodotti a livello di codice in Magento
- 17. Imposta prezzo speciale in modo programmatico in Magento
- 18. Come interrompere la riproduzione di video in VideoView a livello di programmazione in Android?
- 19. Come faccio a importare a livello di codice gli ordini in Magento?
- 20. Ordine Magento Paypal inserito ma reindirizzamento errato
- 21. Cosa causa questo strano calo delle prestazioni con un numero * medio * di articoli?
- 22. Magento come faccio a livello di codice spedite gli ordini?
- 23. Magento - Differenza tra preventivo e ordine
- 24. Come posso riordinare i miei articoli UINavigationController in modo programmatico?
- 25. Come verificare se un ordine ha una spedizione in Magento?
- 26. Come si crea ColorStateList in modo programmatico?
- 27. Creazione di un nuovo ordine in Woocommerce a livello di programmazione
- 28. Come si imposta a livello di codice l'aliquota fiscale in Magento nella pagina del prodotto
- 29. Come avviare e interrompere un'istanza Amazon EC2 a livello di codice in java
- 30. Determinare in modo programmatico la quantità di parametri richiesta da una funzione - Python
Grazie mille! Funziona ! –
@Manaf PM, @ Bijeesh K G Questo non ha funzionato per me .... qualsiasi altra soluzione sto usando il modulo di pagamento autorizza .net e non voglio diminuire la quantità quando il pagamento fallisce ... – ravisoni