Jump to content

Opacité produit si stock <0


 Share

Recommended Posts

Bonjour @snipgot,

Avant toute chose, je vous conseille de créer un thème enfant en suivant la documentation officielle si ce n'est pas déjà fait : https://devdocs.prestashop.com/1.7/themes/reference/template-inheritance/parent-child-feature/
Ainsi, les changements que vous apporterez au thème ne seront pas écrasés si ce dernier doit être mis à jour.

Ensuite, il faudra copier le fichier /themes/theme_parent/templates/catalog/_partials/miniatures/product.tpl vers /themes/theme_enfant/templates/catalog/_partials/miniatures/product.tpl.

Enfin, vous devrez y modifiez la ligne 28, à savoir :

  <article class="product-miniature js-product-miniature" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemprop="item" itemscope itemtype="http://schema.org/Product">

par :

  <article class="product-miniature js-product-miniature"{if $product.quantity_all_versions <= 0} style="opacity: 0.5;"{/if} data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemprop="item" itemscope itemtype="http://schema.org/Product">

Je pars du principe que vous utilisez le thème "classic" ou un thème qui a la même structure. Si ce n'est pas le cas et que vous rencontrez un problème, n'hésitez pas à m'en tenir informé.

Bonne soirée,
Kaudaj.

Edited by Kaudaj (see edit history)
  • Thanks 1

Share this post


Link to post
Share on other sites

Bonjour @Kaudaj,

Merci beaucoup pour la modification, j'avais sans succès insérer un if mais je n'étais pas dans le bon fichier.

Il y a t'il un moyen simple pour mettre ses produits sans stock à la fin de la liste des produits ?

Bonne journée

 

Share this post


Link to post
Share on other sites

Bonjour,

La solution la plus simple se trouve dans votre back-office.
Allez dans Paramètres de la boutique > Produits, et dans le bloc Pagination, vous trouverez les options de tri des produits. Pour le Tri par défaut, choisissez Quantité du produit et pour Ordre par défaut, choisissez Décroissant.

Par contre, cette solution ne fonctionne que sur le catalogue. Elle ne fonctionne pas pour les modules qui affichent des produits sur la page d'accueil par exemple.
Il faudrait modifier directement modifier le code du module en question. Par exemple, pour le module ps_featuredproducts, pas d'autre choix que de modifier la ligne 294 de ps_featuredproducts.php :

$query->setSortOrder(new SortOrder('product', 'position', 'asc'));

par

$query->setSortOrder(new SortOrder('product', 'quantity', 'desc'));

et de vider les caches.

 

Pour aller plus loin...

• Je ne doute pas du fait que vous avez fait des recherches pour résoudre votre problème, mais n'hésitez pas à les pousser au maximum.
Il y a beaucoup de ressources pour la programmation, sûrement plus que dans n'importe quel domaine.
Pour résoudre votre problème, j'ai cherché products out of stock at the end prestashop.

 

Bonne journée.

Edited by Kaudaj (see edit history)

Share this post


Link to post
Share on other sites

Bonjour, j'avais vu cette option mais je souhaitais conserver le tri alphabétique actuel et y rajouter une fonction pour mettre les produits sans stocks à la fin.

Je vais continuer mes recherches.

Bonne journée

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More