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 changer de webmaster ou d’agence web en toute sécurité ?

Nous avons reçu aujourd'hui un appel téléphonique d'une personne qui était véritablement embêtée et il y avait de quoi. Elle avait décidé de migrer son site internet vers Wordpress. N'étant pas technicienne du web, elle a confié la mission à un webmaster trouvé sur...

Trouver un angle d’article : la méthode simple en 4 étapes

Quoi de plus frustrant qu'un excellent article mais très peu lu ? Le fautif : un titre qui ne donne pas assez envie d'en savoir plus. Le titre est véritablement l'élément le plus important d'un article. C'est lui qui dicte sa tonalité, le sujet traité et ce que le...

Tuto : réaliser un détourage facile (et précis) avec Photoshop

Photoshop... Une vraie révolution capable de transformer une vessie en lanterne. A condition de savoir bien l'utiliser. L'outil est d'un tel niveau de complexité que ses fonctionnalités les plus sidérantes sont parfois un peu cachées. Tel est le cas de la fonction de...