Afficher les produits en rupture de stock dans le panier Prestashop

par | 23 Avr 2018 | Prestashop

Si vous êtes sous Prestashop 1.5.x, vous avez peut-être déjà constaté un problème (pour ne pas dire un bug) qui touche le panier d'achat. En cas de rupture de stock soudaine sur un produit, un client sur le point d'acheter  ne pourra pas valider sa commande. Jusque là logique, puisque un produit de son panier n'est plus disponible, le système bloque.

Le hic, c'est que le message d'erreur affiché par Prestashop est très peu explicatif. Il se contente de signaler qu'un produit est en rupture de stock et que la commande est bloquée. Charge au visiteur du site de découvrir lequel pour le supprimer du panier. SI son panier contient 15 produits, il devra les tester et les supprimer un par un jusqu'à trouver le produit en rupture.

Autant dire que votre client aura quitté votre site bien avant ça et que vous l'aurez perdu pour toujours.

La solution ? Afficher dans le panier les produits en rupture de stock en les surlignant en rouge. Pour ce faire suivez le guide :

1- Ouvrez (et faites-en une sauvegarde au préalable) le fichier fichier shopping-cart-product-line.tpl situé à la racine du dossier de votre thème prestashop

2- Commentez la ligne 27 de cette façon :

code php prestashop corrigé

3- et ajoutez la ligne suivante :

<tr id="product_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}{if !empty($product.gift)}_gift{/if}" class="cart_item{if isset($productLast) && $productLast && (!isset($ignoreProductLast) || !$ignoreProductLast)} last_item{/if}{if isset($productFirst) && $productFirst} first_item{/if}{if isset($customizedDatas.$productId.$productAttributeId) AND $quantityDisplayed == 0} alternate_item{/if} address_{$product.id_address_delivery|intval} {if $odd}odd{else}even{/if}{if (!$product.active || !$product.available_for_order || (!$product.allow_oosp && $product.stock_quantity < $product['cart_quantity']))} cart-line-attention{/if}">

4- Ouvrez ensuite le fichier global.css situé dans le dossier CSS du thème et ajoutez le code suivant à la fin :

table#cart_summary tr.cart-line-attention td.cart_description a, table#cart_summary tr.cart-line-attention td.cart_unit span, table#cart_summary tr.cart-line-attention td.cart_cond,
table#cart_summary tr.cart-line-attention td.cart_quantity span, table#cart_summary tr.cart-line-attention td.cart_total span, table#cart_summary tr.cart-line-attention td.cart_quantity input.cart_quantity_input
{
color: red;
}

Et le tour est joué !

Vous aimerez peut-être

Comment rediriger un nom de domaine de Wix ou WordPress vers votre site

Si vous avez créé votre premier site sur un service tel que Wix ou Wordpress.com, il y a de fortes chances que vous ayez également acheté votre nom de domaine directement auprès de ces plateformes. C'est un choix logique puisque dans ce cas, c’est Wix ou Wordpress.com...