Joomladay francophone 2018 à Paris 18 et 19 mai

Mettre en évidence adresse de livraison si différente de facturation

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

  • Mettre en évidence adresse de livraison si différente de facturation

    Bonjour à tous,

    Je ne sais pas si vous êtes dans le même cas que moi, mais j'ai assez tendance à "zapper" l'adresse de livraison de mes clients, lorsqu'elle est différente de l'adresse de facturation (ça ne me saute pas assez aux yeux). Je viens encore une fois de me faire avoir...
    Alors, ma question est : savez-vous s'il est possible de mettre en évidence l'adresse de livraison (genre en gras rouge) lorsqu'elle est différente de l'adresse de facturation, dans l'ordre d'achat dans le backend de Virtuemart ? Et si oui, quel serait le fichier à modifier ?

    D'avance, merci pour toutes vos idées.
    Sandrine
    Dernière édition par Sandrine_G à 24/02/2008, 19h16

  • #2
    je suppose que l les infos sont stockés
    donc le code ainsi eventuellement une fonction

    $adresse = false

    on compare les champs

    si adresse facture <> adresse liv $adresse=true > tu affiches un logo qui clignote ou un truc de ce genre

    des lors qu'un seul element est modifie je sors avec adresse = true

    Commentaire


    • #3
      Salut,

      Tu voudrais le mettre où exactement ce signe ?
      Sur la facture à imprimer ?
      Sur le listage de toutes les commandes ?
      Dans le détail de la commande ?

      Peut être appliquer un style sur le prix dans la liste des commandes (vert si c'est la même adresse, rouge lorsque l'adresse est différente )
      Ou rajouter une colonne, avec une icône qui change ?
      Enjoy J!

      Commentaire


      • #4
        si j ai bien compris sandrine
        lorsqu'elle est différente de l'adresse de facturation, dans l'ordre d'achat dans le backend de Virtuemart

        Donc si l adresse est la meme je suppose que c'est juste une Valeur Vrai ou faux dans un champ
        ya même pas besoin de comparer les adresses

        une petite routine tu sais faire en PHP ?

        Commentaire


        • #5
          Merci Lulu et Crony pour votre aide

          Non Lulu, je ne sais pas faire de routine, je ne connais pas bien le php, juste l'essentiel pour arriver à retrouver le html au milieu

          Crony, c'est dans le détail de la commande que j'ai besoin d'avoir un signe visuel "fort" si l'adresse de livraison est différente. Autrement, je ne fais pas forcément attention, et quand je saisis les commandes dans mon logiciel de gestion, il m'arrive d'envoyer la commande au mauvais endroit.

          Commentaire


          • #6
            en regardant la table vm_order_user_info
            on a le champ adress_type valeur BT si adresse facture=adresse liv
            et ST si different

            donc si on ajoute un test conditionnel de lecture de ce champ

            ça devrais marcher

            et comme on affiche l adresse de facture ET de livraison
            ce champ est donc lu


            bon faut coder en php
            if $adress_type ="ST" echo ("ATTENTION ADRESSE DE LIVRAISON");




            et rechercher le module qui affiche la commande
            Dernière édition par lulu51 à 15/02/2008, 19h50

            Commentaire


            • #7
              ça avance...

              Le fichier est là:
              \administrator\components\com_virtuemart\html\orde r.order_print.php

              Maintenant faut coder...
              Enjoy J!

              Commentaire


              • #8
                Oui mais c'est un peu plus compliqué que prévu

                Commentaire


                • #9
                  a la ligne 219 nous avons
                  // Get Ship To Address

                  donc apres on deroule l adresse de livraison qui est
                  soit la meme que facture ou différent

                  En gros je ferais

                  au debut de code une variable
                  $adresse_liv=false

                  puis dans la partie qui affiche la partie facturation je recupere les valeurs
                  juste apres chaque echo
                  sav_title=$dbt;

                  sav_first_name=$dbt;

                  puis apres la ligne 219 pour chaque echo en dessous

                  if $dbt != sav_title {
                  $adresse_liv=true
                  }


                  et cela pour chaque valeur

                  et la fin
                  if $adresse_liv=true echo ".....
                  avec un H4 pur faire apparaitre

                  Commentaire


                  • #10
                    Ligne 140 je rajouterais un truc un peu comme ça:

                    Code PHP:
                    <th width="48%" valign="top"></th>
                              <th width="52%" valign="top"><?php echo $VM_LANG->_PHPSHOP_NOUVEAU_TEXTE_ST_BT ?></th>
                    Note : _PHPSHOP_NOUVEAU_TEXTE_ST_BT c'est pour l'exemple...

                    Où il y aurait plutôt le test si on affiche ou pas la cellule qui serait rouge par exemple au dessus indiquant le "danger" et la "bonne" adresse

                    Avec une requête SQL un peu comme ça...

                    Code PHP:
                    $sql 'SELECT * FROM `jos_vm_user_info` WHERE `address_type` blabla bla... 
                    En espérant que ça inspire de vrais codeurs
                    Enjoy J!

                    Commentaire


                    • #11
                      Mr bricolage...

                      Bon, pour l'instant j'ai ça:

                      Ligne 140 de order.order_print.php

                      Code PHP:

                      <table class="adminlist">
                              <tr> 
                              <th width="48%" valign="top"></th>
                                <th width="52%" valign="top"><?php require_once(CLASSPATH.'vm_livre.php');
                                  
                      ?></td>
                              </tr>
                      Et le contenu en vrac de vm_livre.php à mettre dans le répertoire classes pour le moment

                      Code PHP:

                      <?php 
                      // no direct access
                      defined'_VALID_MOS' ) or die( 'Restricted access' );
                      //The database cnx
                      $database = new database$mosConfig_host$mosConfig_user$mosConfig_password$mosConfig_db$mosConfig_dbprefix );
                      //query
                      $requetestreettxt 'select address_type  from #__vm_user_info where user_id='."$my->id";
                      $database->setQuery$requetestreettxt );
                      $streettxt $database->loadResult();


                      $valuestr "value=\"%s\" onblur=\"if(this.value=='') this.value='%s';\" onfocus=\"if(this.value=='%s') this.value='';\"";
                      $valuestreet  str_replace ("%s"$streettxt,  $valuestr);
                      ?>

                      <div align="center">
                          <input type="text" class="inputbox" size="<?php print $inputboxwidth?>" name="address" id="address" <?php print $valuestreet?> /><br />
                      </div>
                      Et la variable est ramenée...
                      Il faudrait changer la variable en carré rouge
                      et de ne rien afficher du tout lorsque l'adresse de facturation est la même que celle de livraison et ça devrait être bon...
                      Dernière édition par crony à 16/02/2008, 01h52
                      Enjoy J!

                      Commentaire


                      • #12
                        tu vois quand tu veux
                        c'est autre chose que mon code qui ne tenait pas compte des array
                        Dernière édition par lulu51 à 16/02/2008, 07h59

                        Commentaire


                        • #13
                          Merci Beaucoup Lulu et Crony, vous êtes adorables !!
                          Je vous tiens au courant quand j'aurais testé vos idées, dans la journée sûrement. Encore merci à tous les deux.

                          Commentaire


                          • #14
                            Salut Sandrine,

                            Je voudrais vérifier un ptit truc...
                            Pourrais tu me dire si tu vois les boutons sauver et appliquer en haut à droite de ta page order.order_print.php steup ???
                            Je ne sais pas si c'est moi qui ai oublié un truc, ou si c'est comme ça...

                            Merci
                            Enjoy J!

                            Commentaire


                            • #15
                              Non, j'ai pas ces boutons-là sur cette page-là Crony.
                              J'ai commencé à voir la modif que tu me propose, mais pour l'instant ça ne bouge pas sur ma commande.

                              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