Solutions pour charger un fichier à partir de la fiche d'un produit

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

  • Solutions pour charger un fichier à partir de la fiche d'un produit

    Salut,

    Problème : Permettre à l'utilisateur de charger un fichier à partir de la page décrivant un produit. Le nom de ce fichier sera associé au produit dans la commande.
    Exemple : Une fois il a choisis son tshirt, il souhaite le personnaliser avec une
    photo et deux commentaires (dessus et dessous la photo).

    Solutions : j'en ai trouvé trois :
    - Extended custom attributes : J'ai essayé cette solution avec succés. Elle n'est pas mal. Elle étend l'utilisation des custom attributes et un des types des nouveaux attributs est justement un truc qui permet de charger un fichier.

    - Virtuepload: La version gratuite ne permet pas de charger plus d'un fichier par produit. Je ne l'ai personnellement pas essayé. Vos commentaires sont les bienvenues si vous avez un retour d'expérience dessus. Cependant je vois déjà un problème dans cet outil : il utilise {loadposition position} pour mettre le champs qui charge le fichier dans la zone texte. Il sera donc séparé des attributs des objets. Dans notre exemple ci-dessus, le champs "charger un fichier" sera séparé des champs entrer le premier et le second text. A moins que je me trompe ...

    - ugly virtuemart uploader : si quelqu'un sur ce forum qui a proposé cet outil (ce n'est pas encore un composant). Cependant, je n'ai pas réussi à le télécharger du post d'origine, si quelqu'un le possède ça serait bien qu'il l'attache à ce post.

    Voilà, si vous connaissez d'autres moyens n'hésitez pas à les ajouter à ce poste.
    Si vous avez un retour d'expérience sur un des outils ci-dessus, vos commentaires seront les bienvenues.

    A+

  • #2
    Mes commentaires:

    Extended Custom attribute: ca fonctionne bien sauf que lorsque le fichier est trop gros la page plante suite a un timeout du server, il faut alors tout retaper au niveau des champs et c'est super chiant.

    Virtueuplaod: avantage pas besoin de rafraichir la page pour uploader le file donc le probleme precedent est dégagé. JE conseil la version pro qui ne coute pas tres cher et qui marche pas trop mal permettant d'uploader plus qu'un fichier.

    A mon sens c'est la solution la plus simple et la plus fiable que j'ai trouve au jour d'aujourd'hui.

    Derniere solution que je n'ai pas testé en multifichiers c'est l'association de Chronoform et de Vm que j'ai poussé Bixie à développer et qui est désormais en vente sur son site web.

    Quand a Ugly: je ne l'ai pas installé

    Commentaire


    • #3
      Merci pour ta réponse.
      Mais avec virtualupload, ça ne t'a pas posé de problème que le champ d'upload du fichier ne fait pas partie des autres attributs du produits ? Dans l'exemple que j'ai donné ci-dessus, on aimerait bien que les 3 champs pour personaliser un tshirt soient l'un à côté de l'autre. Or le virtualupload s'insère au niveau du texte. Il sera donc loin des autres attributs même si on le met à la fin du texte.

      Merci

      Commentaire


      • #4
        Je ne connais pas d'autres solutions que le dev spécif

        je remarque que cette problématique est récurrente et je me demande pourquoi un bon développeur ne s'est aps mis les mains dans le camboui pour créer un plugin à virtuemart ou au moins un hack.

        Pour l'avoir développé pour http://www.1001cartes.com, site qui vend tous les jours (donc ca fonctionne bien) et qui permet de personnaliser des faire-parts, je pense que ca ne doit pas être trop dur à développer de façon plus élaborée que ce que j'ai fait... qui reste quand même de la bidouille.

        1- ajouter une étape au processus virtuemart
        2- dans cette étape une iframe qui se sert d'outils flash pour upload et de champs de caractères
        3- ajout de tables dans la bd pour stocker les données images et textes et les lier au client et à la commande.
        4- création d'un fichier xml pour récupérer les données (images et textes) par ftp.

        ce que j'avais fait ne permettait pas de récupérer les données directement dans l'interface "commande" de virtuemart.

        je pense qu'un bon développeur pourrait créer quelque chose et le proposer à la vente pas trop cher car cette demande est récurrente et ce serait un véritable apport à beaucoup de sites... suis pret à m'associer au projet !!!
        Antéane, spécialiste joomla à toulouse : http://www.anteane.fr
        Galerie d'art à Toulouse :http://www.tokade.com
        La tv 3d débarque en France:http://www.tv-3d.fr

        Commentaire


        • #5
          Merci pour ta participation kiapp. C'est le but de ce post en effet, voir si en reunissant nos efforts nous pouvons faire quelque chose de bien.

          Les étapes que tu as énumérées ci-dessus sont les étapes que tu as implémentées ou bien celles que tu suggères d'implémenter ?

          Sinon, accepterais tu de mettre à disposition ton developpement ? Ca pourrait être plus facile de démarrer à partir de quelque chose.

          Merci

          Commentaire


          • #6
            c'est celle que j'ai implémentée

            Les étapes que j'ai citées sont celles que j'ai implémentée... Cependant je pense qu'il y a mieux à faire surtout au niveau de la récupération des données... la partie ftp/xml était une solution du fait que je n'avais pas intégré les champs images et textes recoltés à la partie visualisation des commandes du backend virtuemart.

            Pour le partage du code : d'une part c'est un dev que j'ai fait pour un client donc ca m'est difficile de diffuser ses sources et en plus j'ai du modifier des tas de fichiers au fur et à mesure des avancées... je ne me souviens plus de tout.

            Pour commencer j'ai attaqué sur le fichier administrator/component/com_virtuemart/classes/chekout.index

            j'ai commencé par ajouter une variable $perso = 0 qui indique si la personalisation (texte + image a été faite)

            j'ai ajouter ligne 150 :

            Code:
            if ($perso==1){$this_step=3;$current_stage=3;}
            		foreach( $checkout_steps[$current_stage] as $this_step ) {	
            			echo '<input type="hidden" name="checkout_this_step[]" value="'.$this_step.'" />';
            		}
            ceci pour que le processus continue de tansmettre en champs caché le numéro de l'étape en cours.

            enfin vers la fin ligne 174 CAD après cette partie :
            Code:
            		if( in_array('CHECK_OUT_GET_SHIPPING_ADDR', $checkout_steps[$current_stage]) ) {
                     	?>
                            <div align="center">
                              
                           <br>
            			     <div align="center">
                             
                            </div>
            				<?php
            j'ai ajouté une condition ( si la personalisation est faite suivre le déroulement normal de virtuemart sinon aller à la page de personalisation :

            Code:
             if ($perso==1){ 
            				
            				 echo'
            				 paiement passé
            				 L\'&eacute;tape de personalisation des photos et textes est termin&eacute;e, veuillez &agrave; pr&eacute;sent valider votre paiement en ligne<br><br>
            				 <input type="submit" class="button" name="formSubmit" value="acc&eacute;der au paiement en ligne" />';} 
            				 else {
            				 $pdsku=$_SESSION['cart'][0]["product_id"];
            				
            				echo'<a href="http://www.nomdusite.com/index.php?option=com_wrapper&view=wrapper&Itemid=53&sku='.$pdsku.'&style='.$auth['user_id'].'">Aller &agrave;  l\'&eacute;tape Transmettre textes et photos</a>';}
            				 
            				 ?>
            la partie personnalisation est insérée dans une iframe et pour plus de facilité j'avais fait un élément de menu type wrapper non affiché c'est pour ca qu'on a quelque chose du type :
            Code:
            <a href="http://www.nomdusite.com/index.php?option=com_wrapper&view=wrapper&Itemid=53&sku='.$pdsku.'&style='.$auth['user_id'].'">Aller &agrave;  l\'&eacute;tape Transmettre textes et photos</a>
            je transmet la ref du produit du panier $pdsku et le user.id.

            Il faut noter que l'étape que j'ai ajoutée ne s'effectue qu'après s'être inscrit sur le site au début du process de commande et non directement sur le produit ou dans le panier.

            bon voila les pistes du début et qu'elle était ma démarche... encore une fois il y a peut être mieux à faire
            Antéane, spécialiste joomla à toulouse : http://www.anteane.fr
            Galerie d'art à Toulouse :http://www.tokade.com
            La tv 3d débarque en France:http://www.tv-3d.fr

            Commentaire


            • #7
              Merci beaucoup

              Commentaire


              • #8
                Adan,

                Tu as regardé du coté de bixie.nl

                A un moment je l'avais poussé un peu a développer un bridge entre Chronoform, VU et VM.

                En gros tu pouvais faire une feuille chronoform avec des champs, inserer VU et lier tout cela a VM.

                Moi je suis toujours interessé pour avoir ce genre d'adaptation pour VM

                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