Problème dans l'affichage du nombre de produit

  • Posts: 23
  • Thank you received: 0
12 years 9 months ago #39049

Bonjour,
J'ai activé la fonction "Afficher le nombre de produits" pour toutes mes catégories et sous catégories de produit. Cependant depuis le frontend le nombre total de produit d'une catégorie ne correspond pas à la somme des sous catégories. Existe t-il une solution?

Attachments:
Last edit: 12 years 9 months ago by stelasibo.

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
12 years 9 months ago #39188

Bonjour,

Il semble que cela puisse arrivé dans certains cas ou des produits ont été supprimés.

Pourriez vous changer la ligne:

$database->setQuery('SELECT count(product_id) AS number_of_products,category_id FROM '.hikashop_table('product_category').' WHERE category_id IN ('.implode(',',$ids).') GROUP BY category_id');

en:
$database->setQuery('SELECT count(a.product_id) AS number_of_products,a.category_id FROM '.hikashop_table('product_category').' AS a INNER JOIN '.hikashop_table('product').' AS b ON a.product_id=b.product_id AND b.product_published>0 WHERE a.category_id IN ('.implode(',',$ids).') GROUP BY a.category_id');

dans le fichier components/com_hikashop/views/category/view.html.php et réessayer ?
Cela devrait résoudre le problème.

Please Log in or Create an account to join the conversation.

  • Posts: 23
  • Thank you received: 0
12 years 9 months ago #39205

Bonjour,
Je viens de changé la ligne dans le fichier components/com_hikashop/views/category/view.html.php cependant j'ai toujours le même problème.

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
12 years 9 months ago #39211

Je n'ai pas d'autre idée :)
Il faudrait débugger directement le code sur votre site car nous n'avons plus de problème d'affichage de notre coté après cela (et encore, c'était uniquement dans un cas bien précis).

Please Log in or Create an account to join the conversation.

  • Posts: 23
  • Thank you received: 0
12 years 9 months ago #39217

Bonjour,
J'ai peux-être une piste...

J'ai dans majeure partie des cas, j'ai lié mes produits à 2 catégories (la catégorie directe où ce trouve le produit et sa catégorie "père"). J'ai effectuer cela afin de pouvoir visualiser les produits depuis ces deux niveaux de catégories.

Exemple:

--Articles


Chaussures
Dames
Hommes

En rattachant Les chaussures dames à la catégorie chaussures ET à la catégorie dames, elles sont comptabilisés 2 fois. Si je les rattachent seulement à la catégorie dames elle sont comptabilisés qu'une seule fois...

Last edit: 12 years 9 months ago by stelasibo.

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
12 years 9 months ago #39220

Ah oui c'est en effet le cas.

Vous vous cassez la tête pour rien :) Il suffit dans le module de listing de produits associé au menu de changer l'option "filtre de sous éléments" à "tous les éléments" au lieu de "éléments directs" et ainsi vous pouvez juste mettre la vraie catégorie du produit et le produit sera affiché non seulement pour la catégorie ou il est mais également pour la catégorie parente.

De toute façon, je ne pense pas que nous allons changer la façon de calculer cela pour que cela évite de comptabiliser les produits dans plusieurs catégories différentes. Cela obligerait à charger beaucoup plus de données qu'actuellement pour éviter un cas qui de toutes façon ne devrait pas arriver.

Please Log in or Create an account to join the conversation.

  • Posts: 23
  • Thank you received: 0
12 years 9 months ago #39234

Effectivement ;) J'ai effectué la modification et n'ai plus le problème de comptabilisation et surtout plus besoin d'indiquer la vrai catégorie + la parente pour chaque produit...

Merci

Please Log in or Create an account to join the conversation.

  • Posts: 35
  • Thank you received: 3
11 years 7 months ago #100872

Bonjour,

Désolé, mais... Il y a un bug de "logique" dans les calculs de quantité par groupe car le passage d'un produit en quantité "0" n'est pas pris en compte...
De ce fait lorsqu'un produit "passe" en rupture de stock, il reste comptabilisé à la fois pour la catégorie et pour le fabricant. Il en est de même pour les sous-catégories et sous-fabricants.
En dehors d'une incohérence de quantités, il subsiste aussi le problème de l'affichage (selon le paramétrage choisi) de la catégorie ou du fabricant concerné si tous les produits d'une même catégorie ou d'un même fabricant sont en rupture de stock : dans ce cas la catégorie et/ou le fabricant concerné restera affiché même si l'on ne le désire pas !

Tout me porte à croire qu'il manque une condition dans les 2 requêtes de calcul de quantité/catégories et quantité/fabricant dans le fichier components/com_hikashop/views/category/view.html.php :

$database->setQuery('SELECT count(a.product_id) AS number_of_products,a.product_manufacturer_id as category_id FROM '.hikashop_table('product').' AS a WHERE a.product_published>0 AND a.product_parent_id=0 AND a.product_manufacturer_id IN ('.implode(',',$ids).') GROUP BY a.product_manufacturer_id');

et

$database->setQuery('SELECT count(a.product_id) AS number_of_products,a.category_id FROM '.hikashop_table('product_category').' AS a INNER JOIN '.hikashop_table('product').' AS b ON a.product_id=b.product_id AND b.product_published>0 AND b.product_parent_id=0 WHERE a.category_id IN ('.implode(',',$ids).') GROUP BY a.category_id');



Si on les remplace par les 2 nouvelles requêtes suivantes (avec la condition "AND product_quantity <>0" d'ajoutée), les quantité/catégories et quantité/fabricant deviennent cohérentes !

$database->setQuery('SELECT count(a.product_id) AS number_of_products,a.product_manufacturer_id as category_id FROM '.hikashop_table('product').' AS a WHERE a.product_published>0 AND a.product_quantity <>0 AND a.product_parent_id=0 AND a.product_manufacturer_id IN ('.implode(',',$ids).') GROUP BY a.product_manufacturer_id');

et

$database->setQuery('SELECT count(a.product_id) AS number_of_products,a.category_id FROM '.hikashop_table('product_category').' AS a INNER JOIN '.hikashop_table('product').' AS b ON a.product_id=b.product_id AND b.product_published>0 AND b.product_quantity <>0 AND b.product_parent_id=0 WHERE a.category_id IN ('.implode(',',$ids).') GROUP BY a.category_id');



J'ai testé et ça marche nickel !
Donc à vous de voir si vous souhaitez ajouter cette correction ou non à HikaShop, car comme vous le constatez, cette modification est vraiment mineure face à un problème non solutionnable via une gestion de filtre...

Last edit: 11 years 7 months ago by jcfiguet.

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
11 years 6 months ago #101470

Bonjour,

C'est une bonne idée. En fait, c'est surtout que l'option pour ne pas afficher les produits sans stock a été rajoutée après l'option pour afficher le nombre de produits. Du coup, votre solution est en effet utile mais uniquement si l'affichage des produits sans stock est désactivé.
Nous allons rajouter cela mais en prenant en compte l'option d'affichage des produits sans stock.

Merci pour votre retour.

Please Log in or Create an account to join the conversation.

Time to create page: 0.085 seconds
Powered by Kunena Forum