Jump to content

Déclinaison par défaut non prise en compte sur liste produit


Recommended Posts

Bonjour à tous,

 

Je me permet de vous poster un souci que je rencontre actuellement sur une boutique en développement.

 

Je propose des produits avec différentes déclinaisons (taille, couleurs...) introduisant un impact sur le prix.

 

Je ne rencontre pas de difficulté à configurer mes produits et tout cela fonctionne (presque) à merveille.

 

En effet, le souci rencontré se produit uniquement sur les listes produit : la déclinaison par défaut n'est pas prise en compte et du coup je me retrouve à afficher des prix suppérieurs à ma déclinaison par défaut.

 

Par contre, les autres éléments (par exemple bloc nouveauté) prennent correctement en compte ma déclinaison par défaut.

 

J'ai testé diverses choses :

  • Une installation presque par défaut de prestashop : la déclinaison par défaut est bien prise en compte y compris le prix à afficher sur la liste produit
  • Du coup, retour sur ma boutique en dév, et désactivation du thème pour rebasculer sur le thème par défaut. Et là, même problème, le prix de la déclinaison par défaut n'est pas pris en compte sur la liste produit
  • J'ai essayé de comparer les controllers des deux boutiques mais ils semblent identiques

Auriez vous une piste (bug, option de configuration, module...) qui pourrait expliquer ce mauvais fonctionnement sur la liste produit ?

 

Merci d'avance pour vos éléments de réponse.

Link to comment
Share on other sites

Re-Bonjour à tous,

 

Je viens de résoudre le problème.

 

En fait, j'utilise sur ma boutique la navigation à facette. La requête SQL qui récupère donc les produits de la liste n'est plus celle du controleur Category mais celle du module blocklayered.

 

Qui dans la version que j'utilise ne tiens pas compte de l'attribut default_on des produits.

 

Pour corriger cela, il faut modifier le fichier modules/blocklayered/blocklayered.php et la requête SQL (se trouvant à la ligne 1964 environ) pour rajouter :

AND (pa.default_on = 1 OR pa.default_on IS NULL)

Je suis pour ma part encore sur prestashop 1.5.6, ce problème est peut être déjà résolu sur la 1.6.

 

En attendant, j'espère que cela servira à d'autres ;)

Edited by zakaryafactory (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...