Module Backend btn-group-yesno

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

  • Module Backend btn-group-yesno

    Bonjour, exite t'il une autre classe de style "btn-group-yesno" par défaut dans Joomla ?
    J'essaie de personnaliser le "btn-group-yesno" de l'admin d'un module perso pour avoir 2 autres couleurs (info & warning).
    Si il n'y en a pas d'autre, comment puis-je en ajouter une sur mesure ?
    J'essaie de le faire via un css personnalisé mais je n'arrive pas à attraper la classe du label.
    Faut-il aussi rajouter un js personnalisé pour le module concerné ?
    Merci d'avance.
    Dernière édition par djphil à 17/10/2017, 11h52
    Visit Digital Concepts - Salles de Chat 3D - DigiGrids @ http://digitalconcepts.free.fr/

  • #2
    Un indice ? Une piste ? Un lien ? Un tutoriel ?
    Un module duquel je pourrais m'inspirer ?
    Merci d'avance.
    Dernière édition par djphil à 20/10/2017, 12h23
    Visit Digital Concepts - Salles de Chat 3D - DigiGrids @ http://digitalconcepts.free.fr/

    Commentaire


    • #3
      regardes du coté de la classe btn de boostrap.
      C'est ce qui geres les boutons dans les templates standard.
      tu peut utiliser comme classe supplementaire btn-warning btn-primary btn-succes ou créer le tien créant une classe nommée btn-custom et en recopiant en modifiant le background une des classes précitées.
      Mon site en cours de construction avec de nouvelles catégories de documents...
      https://informaticien51.fr

      Commentaire


      • #4
        C'est bien ce que j'ai essayé de faire mais ça n'a pas fonctionné.
        Soit erreur de ma part, soit mauvaise façon de procéder ...

        PS: il y a un javascript dans Isis qui gère les classes des boutons en backend.
        Visit Digital Concepts - Salles de Chat 3D - DigiGrids @ http://digitalconcepts.free.fr/

        Commentaire


        • #5
          Bonsoir,

          Essayez de cibler un attribut comme sélecteur CSS. Exemple :
          Code HTML:
          [for="jform_params_nomparamx"] {
              background-color: orange;
              color: red;
          }
          Sinon, il faut créer un bouton sur mesure dans un sous-dossier éléments. Chercher ce type de dossier pour avoir des exemples
          Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
          ---
          UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
          bgMax
          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

          Commentaire


          • #6
            Une autre solution "plus limité" est d'intégrer le css dans la traduction.
            Exemple:
            Code:
            INFO_LABEL="<b style='color:blue'>info</b>"
            Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
            ---
            UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
            bgMax
            , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

            Commentaire


            • #7
              @lomart: Pour la 1ère proposition, qu'appelez-vous "attribut" ?
              Donc que mettre à la place de jform_params_nomparamx ?

              Voici un exemple de bouton extrait du fichier .xml
              Code:
              <field
                  name="bgtest"
                  type="radio"
                  class="btn-group btn-group-yesno"
                  default="1"
                  label="Background Test"
                  description="Ceci est un test.">
                  <option value="1">Avant</option>
                  <option value="0">Après</option>
              </field>
              Ceci dit, je vois mal comment ce css ...
              Code:
              [for="jform_params_nomparamx"] {
                  background-color: orange;
                  color: red;
              }
              ... pourrait modifier un fond de bouton lorsque l'on clic dessus.
              Je penses que js doit intervenir quelque part non ?

              La 2ème proposition, la modif dans le fichier lang, on peut l'oublier de suite.
              Elle n'agit que sur la partie texte, le radio ne change pas.
              Dernière édition par djphil à 19/10/2017, 20h19
              Visit Digital Concepts - Salles de Chat 3D - DigiGrids @ http://digitalconcepts.free.fr/

              Commentaire


              • #8
                Pour la 1ère proposition, qu'appelez-vous "attribut" ?
                Donc que mettre à la place de jform_params_nomparamx ?
                Attribut dans mon exemple, c'est for. Regardez avec un inspecteur de code pour trouver les informations à mettre
                Je penses que js doit intervenir quelque part non ?
                Non, c'est le js de Joomla qui s'en occupe
                Pour compléter mon exemple. Il faudrait mettre:
                Code:
                [for="jform_params_nomparamx"].active {
                    background-color: orange;
                    color: red;
                }
                Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
                ---
                UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
                bgMax
                , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                Commentaire


                • #9
                  le js qui s'occupe de changer les classes des boutons du template admin Isis est le suivant:
                  Code:
                  // Turn radios into btn-group
                  $('.radio.btn-group label').addClass('btn');
                  
                  $('fieldset.btn-group').each(function() {
                      // Handle disabled, prevent clicks on the container, and add disabled style to each button
                      if ($(this).prop('disabled')) {
                          $(this).css('pointer-events', 'none').off('click');
                          $(this).find('.btn').addClass('disabled');
                      }
                  });
                  
                  $('.btn-group label:not(.active)').click(function()
                  {
                      var label = $(this);
                      var input = $('#' + label.attr('for'));
                  
                      if (!input.prop('checked'))
                      {
                          label.closest('.btn-group').find('label').removeClass('active btn-success btn-danger btn-primary');
                  
                          if (label.closest('.btn-group').hasClass('btn-group-reversed'))
                          {
                              if (input.val() == '')
                              {
                                  label.addClass('active btn-primary');
                              }
                              else if (input.val() == 0)
                              {
                                  label.addClass('active btn-success');
                              }
                              else
                              {
                                  label.addClass('active btn-danger');
                              }
                          }
                          else
                          {
                              if (input.val() == '')
                              {
                                  label.addClass('active btn-primary');
                              }
                              else if (input.val() == 0)
                              {
                                  label.addClass('active btn-danger');
                              }
                              else
                              {
                                  label.addClass('active btn-success');
                              }
                  
                          }
                          input.prop('checked', true);
                          input.trigger('change');
                      }
                  });
                  $('.btn-group input[checked=checked]').each(function()
                  {
                      var $self  = $(this);
                      var attrId = $self.attr('id');
                  
                      if ($self.parent().hasClass('btn-group-reversed'))
                      {
                          if ($self.val() == '')
                          {
                              $('label[for=' + attrId + ']').addClass('active btn-primary');
                          }
                          else if ($self.val() == 0)
                          {
                              $('label[for=' + attrId + ']').addClass('active btn-success');
                          }
                          else
                          {
                              $('label[for=' + attrId + ']').addClass('active btn-danger');
                          }
                      }
                      else
                      {
                          if ($self.val() == '')
                          {
                              $('label[for=' + attrId + ']').addClass('active btn-primary');
                          }
                          else if ($self.val() == 0)
                          {
                              $('label[for=' + attrId + ']').addClass('active btn-danger');
                          }
                          else
                          {
                              $('label[for=' + attrId + ']').addClass('active btn-success');
                          }
                      }
                  });
                  Le soucis est qu'il fait partie du template ...
                  Je voudrais ce mécanisme dans le module.
                  Je pourrais alors modifier aisément les classes des boutons.
                  Non ?
                  Visit Digital Concepts - Salles de Chat 3D - DigiGrids @ http://digitalconcepts.free.fr/

                  Commentaire


                  • #10
                    Je viens d'essayer comme ceci:
                    Code:
                    [for="jform_params_balanceposition0"].active {
                        background-color: blue;
                        color: red;
                    }
                    Où jform_params_nomparamx a été changé en jform_params_balanceposition0 suivant ce que j'ai pu inspecter.
                    Hélas, aucun effet sur mon bouton module en admin.

                    La proposition css me plait bien mais il faudrait arriver à attraper ce label de bouton radio.
                    Dernière édition par djphil à 20/10/2017, 02h42
                    Visit Digital Concepts - Salles de Chat 3D - DigiGrids @ http://digitalconcepts.free.fr/

                    Commentaire


                    • #11
                      C'est ton module ?
                      Si c'est pour un cas précis, dont tu maitrise le code, ma solution doit marcher. Le plus délicat est où mettre le CSS

                      Sinon pour tout faire de a à z, j'ai indiqué de regarder du coté des elements. Je n'ai pas d'exemple sous la main, mais beaucoup de modules et plugins ont ce dossier avec des exemples pour s'inspirer
                      Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
                      ---
                      UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
                      bgMax
                      , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                      Commentaire


                      • #12
                        Hélas, aucun effet sur mon bouton module en admin.
                        chez moi, ça marche
                        Cliquez sur l'image pour l'afficher en taille normale

Nom : Image 1.png 
Affichages : 5 
Taille : 97,2 Ko 
ID : 1967716
                        Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
                        ---
                        UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
                        bgMax
                        , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                        Commentaire


                        • #13
                          Après vérification, je constate que mon fichier css n'est chargé qu'en frontend.
                          Voilà qui explique pas mal de choses ...
                          Mais pourquoi n'est il pas chargé en backend ?

                          Dans le cas présent ce n'est pas mon module mais j'en "maitrise" le code.
                          Je lui ai ajouté une 20ène de nouveaux paramètres (essentiellement de style).
                          Sinon j'ai fais plusieurs autres modules entièrement de A à Z.

                          La solution pour créer des nouveaux éléments, je l'avais vue sur le web.
                          Il y a plusieurs tutos qui expliquent comment procéder.
                          Je n'ai pas opté pour cette façon car me semble bien compliqué juste pour changer une couleur ...

                          Mince alors ça fonctionne super chez vous!
                          Dernière édition par djphil à 19/10/2017, 21h25
                          Visit Digital Concepts - Salles de Chat 3D - DigiGrids @ http://digitalconcepts.free.fr/

                          Commentaire


                          • #14
                            Si je met votre css dans le custom.css d'Isis alors oui ça fonctionne ...

                            Pour ma part j'avais déjà mis d'autres css similaires dans un template Isis de ma mouture mais dans la cas qui nous concerne, je veux le mécanisme dans le module car je ne pas toucher au Template Isis.

                            Dans mon css Isis j'utilise ceci (légèrement différent):
                            Code:
                            label[for="jform_params_backtotoptype0"].active,
                            label[for="jform_params_backtotoptype1"].active {
                                background:#FF8000;
                                border-color:#FF8000;
                            }
                            Maintenant qu'on est arrivé à cibler via css, comment charge t'on ce css dans la partie admin du module sans toucher au template et sans utiliser de plugin additionnel tel que plg_customcss et consores ?

                            Pour l'instant je charge mon css comme ceci:
                            Code:
                            $assetpath = JUri::base(true)."/modules/mod_custom_test/assets/";
                            $doc->addStyleSheet($assetpath.'mod_custom_test.css');
                            Et j'ai aussi essayé avec JURI::root(true) à la place de JUri::base(true)
                            Dernière édition par djphil à 19/10/2017, 21h58
                            Visit Digital Concepts - Salles de Chat 3D - DigiGrids @ http://digitalconcepts.free.fr/

                            Commentaire


                            • #15
                              Bonjour,

                              Ca ne peut pas marcher. Si j'ai bien compris, tu veux ajouter des règles CSS aux champs Joomla utilisés pour la configuration du module.

                              Le GROS problème est que, à ma connaissance, les scripts PHP ne sont pas appelés.
                              Joomla affiche le fichier XML selon les règles des types de champs et sauve le résultat dans la BD. Jamais tu n'as pas la main sur ce processus, SAUF en créant un champ personnalisé dans le sous-dossier elements.
                              Si l'on veut faire un module installable par tout le monde, il n'y a pas d'autres choix. Si c'est pour un développement spécifique et unique, l'ajout dans custom.css est une solution

                              Ci-joint, une adaptation d'un de mes champs personnalisés pour charger une feuille de style
                              Il suffit de :
                              - copier le dosssier "elements" du zip dans le dossier du module
                              - ajouter le chemin dans le manifest.xml du module : <fields name="params" addfieldpath="/modules/ton_module/elements/">
                              - modifier le fichier "elements/custom.css" avec ses règles
                              - créer un champ "xtitle". Son contenu a peu d'importance, mais il permet de faire un titre plus sexy que celui de base. LABEL est le titre, DESC est le sous-titre

                              Fichiers joints
                              Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
                              ---
                              UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
                              bgMax
                              , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                              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

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X