Jump to content

Opacité produit si stock <0


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
Link to comment
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)
Link to comment
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
×
×
  • Create New...