Tendría que dejar de disminuir el inventario al hacer un pedido, Necesito hacer esta actividad solo después de un pago exitoso.Detener programáticamente disminuir la cantidad de stock al hacer un pedido en magento
Respuesta
sí, podemos desactivar esta Cant disminución pragmáticamente
¿Cómo?
Extender Mage_Checkout_Model_Type_Onepage y reescritura el método saveOrder
Cambios
antes de que las siguientes líneas en el método anterior, será de alrededor de # 740 a # 742
$service = Mage::getModel('sales/service_quote', $this->getQuote());
$service->submitAll();
Añadir
$quote = $this->getQuote();
# Ref: Mage_CatalogInventory_Model_Observer::subtractQuoteInventory
$quote->setInventoryProcessed(true);
Esto informará Magento eso No inventario de proceso para la cita, por lo que suele disminuir el Cant incluso si está configurado para hacerlo.
Sistema> Configuración> Catálogo> Inventario> Opciones de Acciones
Disminución de archivo Cuando se hace el pedido> Sin
Se podía desactivar la gestión de stocks en el administrador, a menos que haya una razón particular que necesita para hacerlo ¿de esta manera?
usted puede configurar un observador para añadir a la Cantidad después del pago exitoso: Puede comprobar aquí para obtener una lista de eventos de Magento puede engancharse en: 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>
Y entonces su observador añadir el Cantidad de nuevo ...
<?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;
}
}
Probablemente no funcionará como está, pero ya se ha hecho. Debe tener cuidado con los eventos de tipo magento y tipo de pago, ya que los diferentes módulos de pago pueden manejar esos eventos de forma ligeramente diferente.
Hola, gracias por la respuesta. Tengo tres sitios web en mi instalación de magento Así que no quiero cambiar la configuración de opciones de stock, ya que necesito esta configuración para otro sitio web. Necesitaría detener programáticamente la cantidad decreciente cuando se realiza el pedido. –
Para cualquier persona que desea encontrar más información sobre la sustracción de poner orden, sólo tiene que estudiar este evento, tanto en Magento EE/CE
sales_model_service_quote_submit_before
- 1. Magento: Convertir presupuesto al pedido
- 2. No se puede actualizar la Cantidad de artículo de stock para un producto en Magento 1.6.2
- 3. Magento: cambio automático de la "Disponibilidad de stock" de "Agotado" a "En stock" (y viceversa) en el Cambio de cantidad
- 4. Magento - Reordenar programáticamente
- 5. multi almacén y multi stock con magento
- 6. Detener la animación GIF programáticamente
- 7. Recuperando pedido único en Magento por increment_id después de editar un pedido con productos configurables
- 8. Ejecutar PHP después de un nuevo pedido en Magento
- 9. ¿Cómo confirmar programáticamente un usuario en Magento?
- 10. Crear orden programáticamente en Magento
- 11. Detener salto de UITextView al configurar texto programáticamente
- 12. Magento - Diferencia entre presupuesto y pedido
- 13. ¿Cómo obtener la hora del pedido en Magento?
- 14. Magento: cambiar programáticamente la configuración de un widget
- 15. Magento agrega programáticamente la imagen del producto
- 16. Magento - Filtro de recopilación por matriz Mantener pedido
- 17. Magento - Mover una categoría programáticamente
- 18. ¿Cómo agregar JS programáticamente en Magento?
- 19. En magento, cómo agregar el número de envío y seguimiento al pedido
- 20. Hacer un pedido por grupo por
- 21. Determine si en la página del producto programáticamente en Magento
- 22. Detener el proceso de indexación Magento
- 23. detener programáticamente la animación de uipickerview en iphone
- 24. Detener programáticamente la ejecución de JavaScript en Firebug
- 25. ¿Cómo detener a Magento que requiere dos descripciones de productos?
- 26. ¿Hay alguna forma de detener un proceso de indexación de magento?
- 27. Cómo hacer un pedido colecciones hijas de entidades en EF
- 28. Magento: Agregue un producto "falso" al carrito/presupuesto
- 29. Magento: Obtener la cantidad en la compra de un producto determinado
- 30. Magento: obtenga las reglas de precios a partir del pedido
¡Muchas gracias! Funciona ! –
@Manaf PM, @ Bijeesh K G Esto no funcionó para mí ... cualquier otra solución que estoy usando autorice el módulo de pago .net y no quiero disminuir la cantidad cuando el pago falló ... – ravisoni