Après avoir chercher sur le web, je n’ai trouvé nul part un tutoriel pour afficher le prix des articles en mode « catalogue » dans Prestashop.
J’ai bien lu quelques posts sur le fait que ça n’était pas possible dans le backend de Prestashop, et que la solution consistait à modifier le code de deux fichiers, mais pas la démarche à suivre dans son ensemble. Je vous livre ici, les lignes que j’ai modifié pour arriver à mes fins !
1- Tout d’abord, activer le mode « catalogue » (i.e. sans le panier)
Préférences > Produits :

2- Récupérer les fichiers « product.tpl » et « product-list.tpl » dans le dossier de votre thème sur le FTP de votre site. Pour moi, avec le thème par défaut, ça donne « /themes/default-bootstrap ».
3- Modifier les fichiers.
Dans le fichier product-list.tpl qui sert à afficher les produits :
{if (
!$PS_CATALOG_MODE AND((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
<div class= »content_price » itemprop= »offers » itemscope itemtype= »http://schema.org/Offer »>
et aussi :
<div class= »button-container »>
{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2&& !$PS_CATALOG_MODE}
{if ($product.allow_oosp || $product.quantity > 0)}
{if isset($static_token)}
<a class= »button ajax_add_to_cart_button btn btn-default » href= »{$link->getPageLink(‘cart’,false, NULL, « add=1&id_product={$product.id_product|intval}&token={$static_token} », false)|escape:’html’:’UTF-8′} » rel= »nofollow » title= »{l s=’Add to cart’} » data-id-product= »{$product.id_product|intval} »>
<span>{l s=’Add to cart’}</span></a>
{else}
<a class= »button ajax_add_to_cart_button btn btn-default » href= »{$link->getPageLink(‘cart’,false, NULL, ‘add=1&id_product={$product.id_product|intval}’, false)|escape:’html’:’UTF-8′} » rel= »nofollow » title= »{l s=’Add to cart’} » data-id-product= »{$product.id_product|intval} »>
<span>{l s=’Add to cart’}</span></a>
{/if}
{else}
<span class= »button ajax_add_to_cart_button btn btn-default disabled »>
<span>{l s=’Add to cart’}</span></span>
Dans le fichier product.tpl qui sert à afficher les listes :
<form id= »buy_block »
{if $PS_CATALOG_MODE && !isset($groups) && $product->quantity > 0} class= »hidden »{/if}action= »{$link->getPageLink(‘cart’)|escape:’html’:’UTF-8′} » method= »post »>
<!– hidden datas –>
<p class= »hidden »>
<input type= »hidden » name= »token » value= »{$static_token} » />
<input type= »hidden » name= »id_product » value= »{$product->id|intval} » id= »product_page_product_id » />
<input type= »hidden » name= »add » value= »1″ />
<input type= »hidden » name= »id_product_attribute » id= »idCombination » value= » » />
</p>
<div class= »box-info-product »>
<div class= »content_prices clearfix »>
{if $product->show_price && !isset($restricted_country_mode)&& !$PS_CATALOG_MODE}
4- Écraser les fichiers avec les versions modifiées sur votre FTP. Dernier conseil : garder une version des fichiers originaux, en cas de mauvaise manip, cela peut s’avérer fort utile.
J’espère que ça marchera sur votre site aussi !
Kenavo.





Laisser un commentaire