Adición de error carro para evitar entrar en la caja
-
16-10-2019 - |
Pregunta
he estado trabajando tratando de crear un sistema de edición orden en que cuando una orden es abajo un estado dado que el cliente puede editar el fin
Ahora tengo todo funcionando mediante la adición de un nuevo pedido como eslabón que hace exactamente el mismo que el nuevo pedido, sino que crea una sesión que identifica que la edición una orden, con el fin de hacer esto para productos fuera de stock que tenía que convertir los pedidos pendientes en
Sin embargo, he encontrado un fallo, si un cliente era añadir 5 sombreros al carro y cierra la sesión, si cuando regresan del elemento disponible Cantidad es ahora 0 todavía pueden entrar en el carro, naturalmente, esto es debido a los pedidos pendientes de ser activados.
He hecho un CartController para recoger la adición / cambios a la cesta de la compra y comprobar manualmente si la población es menor de lo que hay en el carro, sin embargo, si el cliente tenía el artículo cuando hubo Stock amplia, licencia y regresa cuando está ahora fuera de stock, que estos controles de derivación
Una sugerencia que fue hecho por una universidad que era acortar la vida útil de la sesión de la compra para los clientes registrados, mientras que podíamos hacer esto, no es más que un problema durante una venta ??p>
originalmente, antes de que los pedidos pendientes se activan, si esta misma situación se produjo en el botón "Realizar pedido" se perdería y se obtendría un mensaje de error
Ahora he intentado arreglar un nuevo IndexController y el uso de $this->_getSession()->addError('Some products in your cart have gone out of stock');
pero no estoy obteniendo los mismos resultados
Entonces, ¿cómo puedo crear un mensaje de error que evitará que el cliente entre en la caja hasta que se hayan fijado a su cesta ??p>
Solución
Try to add the error to the quote item.
/app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php:300
if ($baseMessages) {
foreach ($baseMessages as $message) {
$messages[] = array(
'text' => $message,
'type' => $quoteItem->getHasError() ? 'error' : 'notice'
);
}
}
Might work. Just an idea.