Problème sur champ de type responsive calendar sur breezingforms

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

  • [RÉGLÉ] Problème sur champ de type responsive calendar sur breezingforms

    Bonjour

    Je suis en train de bâtir un formulaire pour mon association sportive et je rencontre un problème sur un formulaire qui a vocation à recruter des joueurs, entraîneurs et/ou dirigeants.
    Voici l'adresse du formulaire : https://football.cabeglais.fr/contac...damier-beglais

    Mon problème :
    Le champ Date de naissance de type "responsive calendar" limite l'année de naissance à 1989 et plafonne à 2049(ce qui n'est pas très cohérent pour une date de naissance).
    Pour choisir une année < à 1989, il faut d'abord cliquer sur 1989 pour obtenir les 30 années précédentes..
    Comment paramétrer ce champ pour qu'il aille en deçà de 1989 et stoppe à l'année en cours ?

    PS:
    Je précise que si je paramètre ce champ en positionnant un type "calendar", je ne rencontre pas le problème...

    merci de votre aide
    Dernière édition par jps0302 à 22/10/2019, 18h34
    Merci

    Cordialement

  • #2
    Bonjour,
    Petite information utile pour ceux qui nous lisent : je vois qu'il s'agit d'un formulaire Breezing Forms [edit : je m'aperçois que c'était dans le titre. Désolé, je n'avais pas vu à la 1e lecture]

    S'il s'agissait d'un Champ Personnalisé Joomla, il suffit de choisir "de 2000 à 1950" avec un pas de -1 plutôt que "de 1950 à 2000" pour afficher ce qu'on veut dans l'ordre qu'on veut.

    Mais Breezing Form, je ne pratique pas.
    Peut-être que ce que j'indique ci-dessus vous mettra sur la voie, sinon qqun qui connaît Breezing Forms pourra sans doute répondre
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

    Commentaire


    • #3
      Bonjour.

      Malheureusement et étrangement, le calendrier responsive ne permet pas la personnalisation des nombres d'années passées et futures depuis ses paramètres, seul le calendrier classique le permet.

      MAIS, il suffit de modifier le fichier responsable du nombre d'années sélectionnables. Par défaut, il est à 60 et on se trouve entre les deux, c-à-d, l'année en cours est affichée par défaut et nous avons 30 ans passés et 30 ans futurs. Il suffit d'augmenter la valeur pour augmenter le nombre d'années disponibles.

      Le moins c'est que l'on se trouve toujours au beau milieu de la totalité des années disponibles et donc si on augmente de 60 à 80, on a 40 années passées et 40 futures, etc.

      Si la manipulation t'intéresse, la voici :

      Se rendre dans le répertoire suivant : Site/administrator/components/com_breezingforms/libraries/crosstec/classes/

      Tu ouvres les fichiers
      • BFQuickMode.php
      • BFQuickModeBootstrap.php
      • BFQuickModeMobile.php
      • BFQuickModeOnePage.php
      Tu recherches, dans chacun des fichiers, le mot "selectYears" et change sa valeur de 60 à 80 ou 100 ou plus ! Tu enregistres et tu renvoie le fichier sur le serveur. Actualise et vide les caches pour voir le changement.
      Cordialement.
      __
      Eddy !!!
      Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

      Commentaire


      • #4
        Bonjour

        Je viens d'interroger le forum CROSTEC.

        Voici leur réponse :


        To set the responsive calendar as you want go to form's Advanced properties tab > More options > Form Pieces > Before Form, set Type to Custom and paste this code in the code area below:
        echo '<script type="text/javascript"> JQuery(document).ready(function () { JQuery("#ff_elem11156_calendarButton").pickadate({ format: "dd-mm-yyyy", selectYears: 101, min: [1920,1,1], max: [2030,12,31], selectMonths: true, editable: true, firstDay: 1, onSet: function() {JQuery("#ff_elem11156").val(this.get("value"));} }); }); </script>';
        NOTE: You'll have to insert the correct ID of the responsive calendar in the following 2 lines (in my case the ID is ff_elem11156).
        JQuery("#ff_elem11156_calendarButton").pickadate({ onSet: function() {JQuery("#ff_elem11156").val(this.get("value"));}
        You can set min and max date to whatever suits you here:
        min: [1920,1,1], max: [2030,12,31],

        J'ai testé; Cela fonction très bien. Si cela peut servir à d'autres !!!
        Merci

        Cordialement

        Commentaire


        • #5
          Bonjour.

          Je viens d'y voir ton post.
          Super, je ne savais pas que l'on pouvait modifier le calendrier avec un tel script.
          C'est super, je garde sous le pied et ferai peut-être un article sur la chose pour documenter l'utilisateur francophone.

          Le seule petit problème, si le formulaire est perpétuel, indiquer des limites de dates en dur ne les rend pas dynamiques.
          Il faudrait essayer de jouer avec des variables…

          Si je trouve le temps, je ferai quelques tests. En cas de résultat positifs, je viendrais t'informer.
          Dernière édition par Eddy.vh à 24/10/2019, 09h31
          Cordialement.
          __
          Eddy !!!
          Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

          Commentaire


          • #6
            Bonjour

            effectivement, si le formulaire est perpétuel, il convient de faire évoluer la date de début et de fin.
            Concernant mon formulaire, ce n'est pas très impactant, car la date saisie est une date de naissance pour des joueurs de foot, ou des coachs désirant intégrer le club.
            Il y a peu de chance que celle-ci ne soit pas comprise entre les bornes 1920 --> 2030....
            Merci

            Cordialement

            Commentaire


            • #7
              Hmmmm.

              J'ai fait quelques tests sans réel succès. Quelqu'un pourrait m'éclairer ?
              Comment passer une variable en paramètre de dates minimum et maximum du calendrier en gras de le script ?

              Code PHP:
               echo '<script type="text/javascript">
                  var date1 = mavariable1;
                  var date2 = mavariable2;
                      JQuery(document).ready(function () {                                       
                      JQuery("#ff_elem11156_calendarButton").pickadate({
                          format: "dd-mm-yyyy",
                          selectYears: 101,
                          min: [1920,1,1], max: [2030,12,31],
                          selectMonths: true,
                          editable: true,
                          firstDay: 1,
                          onSet: function() {JQuery("#ff_elem11156").val(this.get("value"));
                          }
                      });
                  });
                  </script>'

              Dernière édition par Eddy.vh à 25/10/2019, 11h22
              Cordialement.
              __
              Eddy !!!
              Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X