Jump to content

problème déclinaisons dans prestashop


bertrand.r

Recommended Posts

Bonjour,

J'ai un petit soucis qui a déjà été rencontré ici. Imaginons, dans une boutique qui vend du textile, qu'un survêtement soit composé d'une veste et d'un pantalon. Prestashop veut que l'on créé toute les combinaisons de taille possibles entre veste et pantalon.

Seulement, il gère le stock de manière global. En gros (Veste + Pantalon) = 1 stock.

Du coup, je me pose la question de savoir ce qui a motivé les développeurs à faire ce choix ? Pourquoi ne pas avoir fait des combinaisons "à chaud" ? Pourquoi Prestashop ne va t'il pas vérifier que la taille demandée de la veste soit disponible et que la taille demandée du pantalon soit disponible pour autoriser, à chaud, cette combinaison ?

Est-ce qu'il existe un patch ou un module pour pallier ce problème ?

Je vous remercie d'avance.

Bertrand

Link to comment
Share on other sites

  • 9 months later...

Bonjour,

Comme tu peux le voir, ce post est malheureusement resté dans le flou le plus complet et les récentes versions 1.3.X n'ont pas corrigés le tir quand à ce soucis pour du textile. Donc en gros, prestashop n'est pas orientée, en l'état actuelle des choses, pour du textile ou autre produits composés un peu "complexe".

En faites, j'ai écris un patch dans l'urgence qui touche à pas mal de fichiers (dans l'urgence car j'avais une deadline assez courte au moment des faits pour mettre en production la boutique).

Le patch fonctionne donc depuis quelques mois mais n'est pas complet. Par exemple, côté backoffice, quand prestashop calcul le nombre de pièce en stock, c'est faux pour mes produits composés. Avec la 1.3.2 que je n'ai pas encore livré en production pour la boutique concernée, je comptais m'en occuper plus sérieusement et le compléter mais j'ai pas eu le temps.

Je ne demandais pas mieux que de distribuer ce travail à tous mais bon vu la complexité pour travailler avec prestashop j'ai laissé tomber à l'époque (impossible de contribuer directement, on me proposait des formations à ma charge (la blague), etc). C'est malheureux mais du coup c'est un peu chacun pour soi. A la limite, il faudrait que j'écrive un patch qui peut s'installer facilement.

Ensuite je ne suis pas sur que ma solution soit la meilleure mais bon au moins ça marche. Je te récapitule ce que fait mon patch pour que l'on soit d'accord :

Prenons le cas de la lingerie (c'est le sujet de la boutique pour laquelle j'ai créé le patch). Un ensemble femme est composé d'un haut (soutien-gorge) et d'un bas (string, culotte, shorty, etc). Imaginons que nous ayons un ensemble "TOTO" avec les compositions suivantes :
- soutien-gorge 85A + string M
- soutien-gorge 85B + string M
- soutien-gorge 85C + string M

Tu es d'accord avec moi que le "M" est "partagé" entre chaque ensemble. Prestashop ne gère pas cela. C'est un stock pour ( 85A + M ) un stock pour ( 85B + M ) et un stock pour ( 85C + M ). Donc, si je vend un ensemble ( 85B + M ), mes stocks des ensembles ( 85A + M ) et ( 85C + M ) sont erronés puisque ce string M ne sera pas décompté.

Donc si tu as :
- 1 x 85A en stock
- 3 x 85B en stock
- 4 x 85C en stock
- 2 x M en stock

Tu auras, avec mon patch :
- 1 x ( 85A + M )
- 2 x ( 85B + M )
- 2 x ( 85C + M )

En gros, le patch fait ceci :
- combien j'ai de pièce pour l'élément 1
- combien j'ai de pièce pour l'élément 2
- combien j'ai de pièce pour l'élément X - Y - Z (oui car ça gère plus que deux éléments normalement).
- dans ces "éléments", quelle est la quantité minimale ?
- la quantité minimale devient la quantité de l'ensemble final

Comme je n'ai qu'un seul 85A en stock, alors je ne peux faire qu'un seul ensemble ( 85A + M) . Par contre, j'ai beau avoir 3 et 4 85B et 85C en stock, je n'ai que deux string M donc je ne peux faire que deux ( 85B + M ) ou deux ( 85C + M ).

L'inconvénient est qu'il faut :
- créer l'attribut 85A et lui attribuer son stock
- créer l'attribut 85B et lui attribuer son stock
- créer l'attribut 85C et lui attribuer son stock
- créer l'attribut M et lui attribuer son stock
- créer l'attribut ( 85A + M ) et cocher une case qui apparaît avec mon patch (stock automatique)
- créer l'attribut ( 85B + M ) et cocher une case qui apparaît avec mon patch (stock automatique)
- créer l'attribut ( 85C + M ) et cocher une case qui apparaît avec mon patch (stock automatique)

En faites, quand tu coches "stock automatique", j'inscris "NULL" dans la base de données au lieu du nombre de pièce. Et après, quand on affiche un produit ou autre, je regarde ce champ. Si c'est null, alors je déclenche mon patch qui calcul le stock à chaud et change la valeur des variables de prestashop. Par contre, si la valeur est différente de "null", je maintiens le code d'origine de prestashop.

Voila l'idée et la solution que j'ai trouvé (à défaut de mieux). Si d'ailleurs tu as mieux en tête, suggères l'idée car ça m'intéresse (j'ai l'impression que c'est un peu "crade" comme patch ce que j'ai fais).

Link to comment
Share on other sites

Je te posterai la liste des fichiers modifiés ce soir si tu veux parce que du boulot je ne peux pas accéder à mon serveur ssh.

Je pense qu'il serait bien que je fasse un beau patch facile à appliquer parce que c'est un peu chiant de chercher / modifier le code.

Mais bon j'insiste sur le fait qu'il n'est pas complet au niveau backoffice.

Link to comment
Share on other sites

  • 5 months later...

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...