Rendre certains produits incompatible en achat

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Rendre certains produits incompatible en achat

    Bonjour,

    Ayant balayé de long en large le forum, je n'ai pas identifié de personnes ayant le même besoin que moi.
    J'ai deux besoins qui sont les suivants :

    Système : J-1.5.7 / VM 1.1.2

    1) Je souhaite que certain produit ne soit pas compatible dans un panier. Par exemple le produits A ne peut pas être mis dans le panier avec le produit B.

    2) Lorsqu'une commande est passée je souhaite qu'un fichier, reprenant le contenu de la commande, soit généré dans un répertoire du serveur. Idéalement le contenu de ce fichier doit pourvoir être paramétrable depuis VM.

    Je suis ouvert à toute idée , astuces ou pluggins nécessaire pour ces deux besoins.
    Mon projet est conditionné par ces deux problèmes.
    Help !
    Usul Pillar

  • #2
    Whaouh, c'est une atteinte a la liberté d'achat , ca
    ou alors c'est que tu veux assister tes clients ... ("mais non m'sieu, faut pas acheter un processeur Intel dual core sur une carte mere avec socket AM2 !!!")

    Bon je rigole, mais effectivement ton besoin n'est pas courant et je pense bien que VM n'a pas pensé a ca ... donc ca sent le Hack VM ou le mambot systeme !
    (en tout cas il faudra une belle table MySQL pour expliquer toutes les incompatibilités !)

    Tu aurais des precisions :
    - expliquer la cinematique d'achat et a quel moment tu veux que le controle soit fait ? (lors de l'ajout dans le panier, lors de la validation de la commande ?)
    - si tu peux donner un peu plus de détails fonctionnels sur la boutique ou les produits ? (histoire de comprendre mieux (si c'est pas trop confidentiel !))

    A+
    Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
    « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
    c’est parce que nous n’osons pas qu’elles sont difficiles. »
    - Sénèque

    Commentaire


    • #3
      Merci Garstud

      Mon site VM sert à mes clients qui ont besoins que j'intègre du midlware sur système métier.
      Hors certain midlware sont incompatibles sur un même système, voir sur certain système.
      Par exemple, le client choisi le système exploité puis les midlwares à intégrer grâce à mon catalogue qui contient par exemple Oracle 6.1 mais aussi Oracle 5.0. Si jamais le client choisi ces deux midlwares (par mégarde ou incompétance), rien n'empêche la commande d'être enregistrée. Et l'intégration est alors impossible.

      Autre exemple : Orale 6.1 est compatible sur le système A mais pas sur le système B. Là encore je suis confronté au même problème.

      Je n'ai pas d'exigence sur le moment ou le site empêche d'ajouter les produits incompatibles (à la sélection au panier ou à la validation de la commande)
      J'imagine qu'il me faut placer des 'flags' ou 'critères' sur les produits et renseigner une table d'incompatibilité afin que le panier soit conforme. Hors je ne sais pas développer ce genre de solution et je ne trouve pas de hack (mais je sais que je cherche mal) qui correspondent à mon besoin.


      Pour mon deuxième besoin, je cherche simplement un moyen d'automatiser la production d'intégration via script de commande.

      Si quelqu'un arrive à me résoudre tout cela, je lui devrais ma reconnaissance éternel, ainsi que ma progéniture sur 10 générations !

      ++
      Usul Pillar

      Commentaire


      • #4
        Well, c'est pas anodin comme dev, voici ce que j'en pense :

        1) ce ne sera pas un simple hack (besoin trop complexe), il faut un plugin systeme pour surveiller le panier, et un composant pour administrer ta liste d'incompatibilité ... voir aussi un acces a l'administration de la commande pour la modifier (tu veux vraiment modifier la commande ? c'est pour ajuster son contenu a posteriori ? par qui ? le client, un administrateur ? )

        Du coup ca deviendrait un composant a part de VM, qui aurait une surveillance de l'activité des paniers VM.


        2) la liste des incompatibilités, la faut cogiter un peu au montage, car tant qu'a faire un composant, autant le faire bien avec une table MySQL qui contient : l'ID du produit VM, l'ID d'un produit VM incompatible

        Apres il faut remplir cette table avec tous les cas de ta boutique, afin que le plugin puisse verifier pour chaque produit ajouté au panier qu'il n'a pas d'incompatibilité avec les autres produits deja dans le panier ... tu me dis si un fonctionnement comme ca te semble bon ?

        Si d'autres lecteurs ont un avis sur la question, c'est avec plaisir


        Pour ton 2eme besoin, ca dependra de ta reponse sur ma premier question de ce post (tu veux vraiment modifier la commande a posteriori ?) ou est-ce que c'est pour ajouter la commande dans un systeme tiers (genre compta ?) sans la modifier ?
        - si c'est le 2eme cas, quel est ton format de fichier attendu : XML, CSV ... ?
        - en quel techno tourne-t-il (internet (PHP, JAVA ...) , executable sur PC Windows, MAC ... ?
        - C'est pas Dolibarr, par hasard ?

        A+
        Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
        « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
        c’est parce que nous n’osons pas qu’elles sont difficiles. »
        - Sénèque

        Commentaire


        • #5
          Par clarté du débat je pense qu'il faut écarter du sujet mon besoin d'extraction de commande dans un format particulier. Ce point est plus complexe et mérite un sujet à lui seul.

          je propose que l'on traite la solution de produit incompatible dans un panier avant tout.
          Ton hypothèse sur ce point est très intéressante. Pour ma part j'imagine une solution bricolé qui consiste à détourner une fonction standard de VM qui est le container 'type de produit' (non utilisé sur mon site) pour arriver à nos fin.

          Je m'explique :
          Si nous classons les produits incompatibles dans des 'type de produit' adaptés, nous pourrions ensuite manager ces containers 'type de produit' en fonction d'une règle inscrite dans une table MySQL qu'il reste à manager via le BackEnd. Il conviendra de gérer les incompatibilités via les ID des 'type de produit'. C'est concrètement ceci qu'il faut développer.

          Nous pourrions tout aussi bien utiliser un autre critère de gestion des incompatibilités avec les 'attributs' de produit.

          Qu'en pense-tu ?
          Usul Pillar

          Commentaire


          • #6
            Ok, pour extraire ton 2eme besoin pour l'instant.
            Well, pour le reste, je suis partagé !

            1) la solution de créer un composant complet et autonome me parait le plus intéressant en terme de projet pouvant servir a autrui ...

            2) mais ta proposition de se baser sur les "types de produits" a le merite de peut-etre moins nous accaparer de temps !


            Maintenant j'ai un peu peur qu'on rencontre des limitations avec ta proposition :
            - sur un autre site Joomla qui utilise normalement les "types de produits", on est coincé !
            - on risque d'etre un peu limité si on a besoin d'ajouter des infos sur les produits ou de personnaliser le fonctionnement !
            - je perds l'interoperabilité avec d'autres projet eCommerce comme OScommerce sur lesquels je ne pourrais pas "porter" ce composant

            A creuser donc !
            Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
            « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
            c’est parce que nous n’osons pas qu’elles sont difficiles. »
            - Sénèque

            Commentaire


            • #7
              Tu as entièrement raison. Il ne faut pas détourner une fonction.
              Il convient alors de developper un 'addon' VM qui permet de créer une catégorie d'incompatibilité. Ce container doit ensuite être renseigné par l'admin des produits qui correspondent à cette catégorie d'incompatible.
              Les types de catégorie de produit incompatible serait les suivants :
              1- Les produits A ne peuvent être commandés ensembles (même catégorie de produit dans un panier)
              2- Les produits B ne peuvent être commandés avec les produits C et/ou A (impossibilité d'associer deux types de produit différents)

              Il faut ensuite qu'un contrôle soit fait dès la mise au panier d'un produit. En cas d'incompatibilité, un popup informe le client par un méssage adapté (incompatibilité 1 ou 2).

              Cela te semble t-il plus faisable ? Peux-tu réaliser une telle chose ?
              ++
              Usul Pillar

              Commentaire


              • #8
                Je te rassure tout de suite, pour la realisation, y a pas de probleme, y a que des solutions ... le seul probleme est de trouver la bonne solution ( et le temps pour l'implemeter )

                Donc a propos de solution :
                Ote moi d'un doute concernant ton appellation "catégorie d'incompatibilité" :
                en faites tu groupes les produits par categorie pour gérer les incompatibilités au niveau des categories !
                - j'ai peur qu'on perde un peu de liberté, mais si on redescend au niveau du produit lui meme et que l'on gere sa liste d'incompatibilité avec tous les autres produits ... alors bonjour le taf pour les boutiques qui ont plein de références !

                Au pire on utilise ton system de categorie, libre a ceux qui ont peu de produits et qui souhaitent gérer des possibilités au niveau du produit directement, de mettre 1 seul produit par categorie !!!

                Voir capture ci-jointe


                P.S. comme on est en train de plus ou moins ecrire les specifs du composant, si certains lecteurs souhaitent mettre leur grain de sel, c'est maintenant que ca se passe !
                Developpeur, testeurs, futurs utilisateurs ... signalez-vous !
                (On vous remercie d'avance, c'est toujours plus sympa de bien penser un outil dès sa conception !)
                Fichiers joints
                Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
                « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
                c’est parce que nous n’osons pas qu’elles sont difficiles. »
                - Sénèque

                Commentaire


                • #9
                  Lorsque je parlais de catégorie, je ne faisais pas référence aux catégories de VM. Je pensais à un autre groupement de produit.
                  Pour eviter la confusion, nous allons l'appeler 'Container des incompatibles'.

                  Je suis d'accord qu'il ne faut pas gérer les conditions au niveau du produit car trop de boulot sur un site existant après implémentation de l'addon.

                  Je propose donc simplement que l'admin puisse inclure son catalogue de produit dans l'un des deux 'containers incompatibles' ou les deux.
                  1- Les produits A ne peuvent être commandés ensembles (même catégorie de produit dans un panier)
                  2- Les produits B ne peuvent être commandés avec les produits C et/ou A (impossibilité d'associer deux types de produit différents)

                  Toutefois, je ne suis pas certain d'être exhaustif dans le nombre de typologie des incompatibles (1 ou 2).
                  Ce soir, je vais jouer les scénarios et te confirmer cela. Du même coup je ne vais pas imaginer les spec pour mon seul besoin, mais pour une solution globale. Il peut donc y avoir plus de typologie à définir.

                  ++
                  Usul Pillar

                  Commentaire


                  • #10
                    En fait j'avais bien noté que tu parlais d'une nouvelle sorte de categorie (pas celle de virtuemart), mais tres bonne idée d'appeler ca un "container" (au moins pour la redaction des specifs)


                    Je me permets de tenter de traduire en pseudo-algo informatique tes 2 derniers points pour voir si j'ai bien compris :

                    - Si le container A est flagé (case a cocher) comme : "Incompatibilité interne au container" = OUI (la phrase est a definir)
                    alors les elements de ce container ne peuvent pas etre achetés ensemble
                    sinon les elements de ce container peuvent etre achetés ensemble

                    - Si le container B contient dans sa "liste de container incompatibles", les containers A et C
                    Alors si le panier contient deja un produit de A et/ou C
                    Alors l'ajout au panier d'un produit de B n'est pas possible
                    sinon le produit de B est ajouter normalement au panier

                    voir capture ci-jointe.
                    Ces 2 typologies ont l'air d'etre pas mal, bravo, maintenant si tu en vois d'autres ... on va finir par directement allez voir l'equipe de Virtuemart pour leur proposer le projet

                    Je rajoute un point sur le parametrage des alertes d'incompatibilité
                    - dans un soucis de proposer des parametrages personnalisés pour chacun, j'imagine deja que l'affichage des alertes se fera de plusieurs facon possible :
                    • popup alerte javascript
                    • msg affiché au dessus du panier
                    • redirection vers une autre url
                    • autre ?
                    Tu vois d'autres paramétrage a noter ?

                    P.S. Vu que ca avance, je vais proposer a ceux qui sont interessés par la redaction des specifs de ce produit de travailler sous Google Doc, histoire de travailler en collaboration sur un meme doc, c'est plus pratique !
                    Fichiers joints
                    Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
                    « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
                    c’est parce que nous n’osons pas qu’elles sont difficiles. »
                    - Sénèque

                    Commentaire


                    • #11
                      Garstud,

                      Ta traduction des deux containers est bonne. Tes propositions d'alerte sont adéquats. je constate que nous sommes en phase.

                      Comme convenue, j'ai pris le recule qu'impose le projet si nous voulons qu'il soit transposable sur n'importe quel site VM. En conséquence je detecte qu'il faut 3 containers (et non plus 2) Que ces containers contiènnes des attributs et que les attributs d'un de ces containers doivent être définis par des règles (compatibilité).

                      Afin que la tâche soit le plus claire possible pour toi, je propose de réaliser l'expression de besoin en utilisant un cas concret (la société X, fabrique des composants d'ordinateurs et les vends en ligne). Issue de cette EB et grâce aux échanges ici même, tu pourras réaliser les specs, puis le dev.

                      Si tu es d'accord, je t'invite à créer l'espace Google Doc pour que j'y dépose l'EB.
                      Usul Pillar

                      Commentaire


                      • #12
                        Project ... ignition !

                        Bonjour a tous,
                        Bon, on a commencé a former une petite équipe de redaction des specifs et un projet va etre initialisé dans joomlacode d'ici fin octobre.

                        On avance sur la suite, si certains sont intéressés pour participer (sur les specif, le dev ou juste pour faire partie des premiers beta-testeurs), contactez moi via PM.
                        On reviendra régulièrement poster sur ce topic dés qu'on aura des news a vous donner sur la visibilité des devs et la livraison
                        (donc n'hesitez pas a vous abonner a cette discussion si la suite vous interesse !)

                        1er info : Road-map :
                        - une version Beta (en distribution limitée) suivi d'une version RC1 (Release Candidate) ... toutes les 2 avant la fin de l'année ... c'est promis !
                        Enfin pour la RC1, si on veut tenir ce delai, on espere que les futurs utilisateurs vont me contacter pour être des beta-testeurs du produit et donc nous aider a le rendre "stable" rapidement, merci d'avance !

                        Je reviens rapidement (2 semaines maxi) pour donner des infos sur le nom et quelques précisions sur la cible de l'outil
                        Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
                        « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
                        c’est parce que nous n’osons pas qu’elles sont difficiles. »
                        - Sénèque

                        Commentaire


                        • #13
                          Expression de besoin du projet déposée ce jour sur l'espace Google Docs
                          Usul Pillar

                          Commentaire

                          Annonce

                          Réduire
                          1 sur 2 < >

                          C'est [Réglé] et on n'en parle plus ?

                          A quoi ça sert ?
                          La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                          Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                          Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                          Comment ajouter la mention [Réglé] à votre discussion ?
                          1 - Aller sur votre discussion et éditer votre premier message :


                          2 - Cliquer sur la liste déroulante Préfixe.

                          3 - Choisir le préfixe [Réglé].


                          4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                          2 sur 2 < >

                          Assistance au forum - Outil de publication d'infos de votre site

                          Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                          Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                          Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                          UTILISER À VOS PROPRES RISQUES :
                          L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                          Problèmes connus :
                          FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                          Installation :

                          1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                          Archive zip : https://github.com/AFUJ/FPA/zipball/master

                          2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                          3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                          4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                          5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                          6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                          et remplacer www. votresite .com par votre nom de domaine


                          Exemples:
                          Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                          Télécharger le script fpa-fr.php dans: /public_html/
                          Pour executer le script: http://www..com/fpa-fr.php

                          Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                          Télécharger le script fpa-fr.php dans: /public_html/cms/
                          Pour executer le script: http://www..com/cms/fpa-fr.php

                          En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                          Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                          Voir plus
                          Voir moins
                          Travaille ...
                          X