Rajout de javascript dans certaines balises

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

  • [Problème] Rajout de javascript dans certaines balises

    Bonjour à tous,

    Toujours mon coté novice sur Jomla (un peu moins quand même ), j'aimerai savoir s'il était possible dans certain cas de rajouter du javascript dans une balise, je m'explique.

    Lors de la création d'un menu, il apparait dans la forme suivante :
    Code:
    <div class="moduletable">
        <h3>Contact</h3>
        <ul class="menu" id="menu_contact">
            <li class="item36"><a href="http://www.forum.org/"><span>Le forum de discution</span></a></li>
               <li class="item5"><a href="/index.php?option=com_ckforms&amp;view=ckforms&amp;id=1&amp;Itemid=5"><span>Contactez-moi</span></a></li>
            <li class="item37"><a href="/index.php?option=com_content&amp;view=article&amp;id=53&amp;Itemid=37"><span>Les liens</span></a></li>
        </ul>
    </div>
    Si je souhaite rajouter un "onclick=blablab" à la balise "<h3>", je n'ai pas trouvé de possibilité, par contre j'ai vu que l'on pouvait rajouter un "id" au menu tag, ainsi qu'un suffixe de classe au module.
    Ma question est toute simple : peut-on rajouter à une balise un évènement "javascript" de ce genre ?

    Merci
    Dernière édition par gesualda à 01/09/2009, 11h56
    wampserveur v3 - - Apache 2.4.18 - php 5.5.27/ 5.6.20/ 7.0.5 - mysql 5.6.29 / 5.7.11
    Joomla => 3.7.4 / Joomla test => 3.7.x
    --------
    Un pessimiste, c'est un homme qui a travaillé pendant trois mois avec un optimiste !

  • #2
    bonjour,

    UP
    wampserveur v3 - - Apache 2.4.18 - php 5.5.27/ 5.6.20/ 7.0.5 - mysql 5.6.29 / 5.7.11
    Joomla => 3.7.4 / Joomla test => 3.7.x
    --------
    Un pessimiste, c'est un homme qui a travaillé pendant trois mois avec un optimiste !

    Commentaire


    • #3
      as tu essayé de le faire?
      si oui est ce que ca as marché?

      sinon tu peux telecharger des plugin style includePHP qui permettent de mettre du php, js, et autre code dans tes articles. p-e une piste a exploiter.

      personnellement j'ai pas teste, mais j'vois pas le probleme.
      Comi l'aide comi l'peut

      Commentaire


      • #4
        Salut

        Le problème n'est pas le codage ou le rajout de code php ou autres, cela je sais faire, c'est juste le fait de rajouter à certaines balises un => "onclick ou onmouseover" ou bien autre attribut.

        C'est là que je calle pour le moment. SI quelqu'un avait une idée. J'ai regardé un peu dans l'ensemble des fichiers composants jomla ( oups ! c'est l'aiguille dans la botte de foin )

        Merci
        wampserveur v3 - - Apache 2.4.18 - php 5.5.27/ 5.6.20/ 7.0.5 - mysql 5.6.29 / 5.7.11
        Joomla => 3.7.4 / Joomla test => 3.7.x
        --------
        Un pessimiste, c'est un homme qui a travaillé pendant trois mois avec un optimiste !

        Commentaire


        • #5
          et donc je repose ma question :

          as tu tester tout simplement de le faire? si oui quel resultat en découle?

          <a onclick="...">test</a> ne marche pas?

          tu veux rajouter ces argument (onclick, onload, on mouseover) à quelle balise exactement? cela ne marche pas sur toute.
          Comi l'aide comi l'peut

          Commentaire


          • #6
            Envoyé par comi Voir le message
            et donc je repose ma question :
            as tu tester tout simplement de le faire? si oui quel resultat en découle?
            <a onclick="...">test</a> ne marche pas?
            tu veux rajouter ces argument (onclick, onload, on mouseover) à quelle balise exactement? cela ne marche pas sur toute.
            Ben non, je ne peux pas tester puisque je ne sais pas ou sont les balises dans un menu (d'ou ma demande).
            En fait je veux rajouter cela à une balise H3 d'un menu (donc le titre), mais il sera utile également pour certains liens sur le site. Mais pour cela pas de soucis, puisque les liens seront mis en valeur dans les articles directement.

            Merci
            wampserveur v3 - - Apache 2.4.18 - php 5.5.27/ 5.6.20/ 7.0.5 - mysql 5.6.29 / 5.7.11
            Joomla => 3.7.4 / Joomla test => 3.7.x
            --------
            Un pessimiste, c'est un homme qui a travaillé pendant trois mois avec un optimiste !

            Commentaire


            • #7
              Salut,
              ta question, malgré son apparente simplicité, est un peu compliquée, pour plusieurs raisons :

              - tu ne dis pas ce que tu veux faire avec ton onClick
              Un accordéon ?

              - joomla 1.5.xxx utilise la librairie mootools, qui traite le onClick différemment du JS classique :
              Un exemple simple avec mootools :
              Code:
              JS, dans la head:
              <script src="mootools.js" type="text/javascript"></script>
              <script type="text/javascript" charset="utf-8">
              		window.addEvent('domready',function() {
              $("flags").getElements('a').addEvent('click', function(){
              alert(this.getProperty ('class' ));
              });
              	});
              </script>
              HTML
              <span id="flags">
              <a class="maClasse" href="#">lien</a>
              </span>
              </script>
              Source d'infos :
              DEMOS : http://demos111.mootools.net/
              DOCS : http://docs111.mootools.net/

              - Enfin, la structure d'un menu peut se voir ici :

              siteJOOMLA/modules/mod_mainmenu/helper.php

              Aux alentours de la ligne 374 /375, tu as un exemple de onClick
              mais il faut vraiment savoir ce que tu fais avant de bidouiller


              CED1870 et moi-même avons commis un tuto accordéon
              http://forum.joomla.fr/showthread.php?t=89941
              C'est un work in progress et pas super simple, mais cela peut te donner une idée du fonctionnement de Mootools

              Hope it helps.
              “Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter le nouveau service (en Beta) de la base de connaissance https://kb.joomla.fr

              Commentaire


              • #8
                Bonjour Ghazal,

                En fait tu as raison, je ne suis peut etre pas assez explicite:
                J'utilise la fonction javascript : montre-cache un menu dans une partie des sites codés perso: voici le code que tu connais surement:
                Code:
                function montre(id) { 
                  var d = document.getElementById(id); 
                  if (d) {
                     if(d.style.display == 'block'){
                      d.style.display = 'none';		  
                     } else {
                      d.style.display = 'block';  
                    }
                  } 
                }
                
                function cache(id) { 
                  var d = document.getElementById(id); 
                  if (d) {
                     if(d.style.display == 'none'){
                      d.style.display = 'block';		  
                     } else {
                      d.style.display = 'none';  
                    }
                  } 
                }
                Ensuite je l'appelle dans une balise comme ceux-ci
                Code:
                <h2 onClick="javascript:montre('menu');">Mon titre </h2>
                <div id="menu"><!-- cnt menu -->
                	<ul>        	
                		<li><a href="?page=construc"lien-1</a></li> 
                		<li><a href="?page=construc">lien-2</a></li>		
                	</ul>
                </div>
                Et bien sur la CSS
                Code:
                #menu{display : none}
                Ce qui déclenche la visibilité du menu lors du clic sur la balise <h2> dans ce cas de figure.
                J'aurai bien aimer réutiliser ce type d'astuce pour les menus.

                Pour les codeurs de Jomla ( que je viens de découvrir recemment) et que je félicite en passant, ne serait-il pas intéressant de rajouter dans la partie
                • => Module
                • =>Paramètres avancés
                • => Avant le menu : Menu Tag ID

                une option qui permette justement de mettre ce genre d'attribut ainsi qu'une valeur à cette dernière ?

                C'est juste une question bien sur, cela ne règle pas mon problème pour le moment
                wampserveur v3 - - Apache 2.4.18 - php 5.5.27/ 5.6.20/ 7.0.5 - mysql 5.6.29 / 5.7.11
                Joomla => 3.7.4 / Joomla test => 3.7.x
                --------
                Un pessimiste, c'est un homme qui a travaillé pendant trois mois avec un optimiste !

                Commentaire


                • #9
                  Toujours pas de solution ?? j'ai toujours pas trouvé ou était généré la balise h3 du titre !
                  wampserveur v3 - - Apache 2.4.18 - php 5.5.27/ 5.6.20/ 7.0.5 - mysql 5.6.29 / 5.7.11
                  Joomla => 3.7.4 / Joomla test => 3.7.x
                  --------
                  Un pessimiste, c'est un homme qui a travaillé pendant trois mois avec un optimiste !

                  Commentaire


                  • #10
                    j'ai toujours pas trouvé ou était généré la balise h3 du titre !
                    C'est bien ca le pb !
                    Moi non plus.
                    Dans d'autres cas, avec Mootools, j'ai contourné le pb en utilisant le lien de menu "séparateur", qui se trouve alors dans un span, avec la classe separator,
                    ligne 328 dans modules/mod_mainmenu/helper.php
                    Puis je vire le titre du module (celui dans h3) et crée des sous-menus
                    Je suis en train de bosser sur une solution avec Mootools dans ce sens
                    (pour tout dire, cela fait qq temps que CED et moi essayons de trouver un soluce satisfaisante)

                    PS : je ne voudrais pas insister, mais Mootools fait ca bien mieux que ton code (fonctionnel par ailleurs, hors joomla) avec FX.Slide, et sans avoir besoin de coller un onClick qq part sur un tag (une hérésie, selon les normes mootooliennes, LOL).
                    Ex : sur les modules dans le template ja_purity

                    PPS : enfin, et si veux moins galérer, il existe des modules et plugins qui font ce genre de trucs:
                    http://extensions.joomla.org/extensi...ccordion-menus
                    http://extensions.joomla.org/extensi.../sliding-menus

                    PPPS : l'image ci-dessous montre les paramètres de menu possibles pour les CSS dans le menu manager
                    Hope it helps.
                    Fichiers joints
                    “Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter le nouveau service (en Beta) de la base de connaissance https://kb.joomla.fr

                    Commentaire


                    • #11
                      Merci ghazal de la réponse, je vais tester les plugins dès demain.
                      Bonne soirée
                      wampserveur v3 - - Apache 2.4.18 - php 5.5.27/ 5.6.20/ 7.0.5 - mysql 5.6.29 / 5.7.11
                      Joomla => 3.7.4 / Joomla test => 3.7.x
                      --------
                      Un pessimiste, c'est un homme qui a travaillé pendant trois mois avec un optimiste !

                      Commentaire


                      • #12
                        Bonjour à tous,

                        j'ai donc installé : Accordion Menu suite à la suggestion de ghazal
                        Malheureusement, j'ai essayé de décortiquer la FAQ en anglais, et j'avoue être mauvais dans ce sport. Pourriez-vous m'aider ou encore mieux m'envoyer vers un tuto s'il existe car je suis un peu largué sur ce coup là ?

                        J'ai bien essayé ce qu'il préconise dans le menu "left" de mon template, mais cela ne marche pas :
                        Code:
                        {Accordion_Menu_Apple_style}
                        Test1
                        - <a href="test11.html">test1.1</a>
                        - <a href="test12.html">test1.2</a>
                        
                        Test2
                        - <a href="test21.html">test2.1</a>
                        - <a href="test22.html">test2.2</a>
                        
                        <a href="http://www.kksou.com">Test3</a>
                        - <a href="test31.html">test3.1</a>
                        - <a href="test32.html">test3.2</a>
                        - <a href="test33.html">test3.3</a>
                        
                        {/Accordion_Menu_Apple_style}
                        Merci
                        wampserveur v3 - - Apache 2.4.18 - php 5.5.27/ 5.6.20/ 7.0.5 - mysql 5.6.29 / 5.7.11
                        Joomla => 3.7.4 / Joomla test => 3.7.x
                        --------
                        Un pessimiste, c'est un homme qui a travaillé pendant trois mois avec un optimiste !

                        Commentaire


                        • #13
                          Salut,
                          je n'ai pas recu ton dernier message hmmmm...
                          J'ai concocté un script qui répond au début de ton post :
                          un onClick sur h3 du menu, basé sur mootools
                          A coller sur l'index.php de ton template juste avant la fin de la balise </head>

                          Prérequis :
                          un menu en xhtml - ce qui est souvent le cas
                          CAD : <jdoc:include type="modules" name="left" style="xhtml" />

                          Code PHP:
                          <!--/ ************************************************************************-->
                              <
                          script type="text/javascript">    
                                  var 
                          monMenu = {
                              
                                      
                          start: function(){
                                          if($$(
                          '.moduletable_menuSlide')) monMenu.joomlamenu();
                                      },            
                                      
                          joomlamenu: function(){
                                          var list = $$(
                          '.menuclasseCSS');
                                          var 
                          headings = $$('.moduletable_menuSlide h3');
                                          var 
                          contents = new Array();
                                          
                                          
                          headings.each( function(headingi) {

                                              var 
                          content = new Fx.Slide(list[i], { 
                                                  
                          duration500
                                                  
                          transitionFx.Transitions.linear
                                              
                          });
                                              
                                              
                          contents[i] = content;                    
                                              
                          heading.onclick = function(){                        
                                                  
                                                  
                          content.toggle();
                                                  return 
                          false;
                                              }
                                              
                                              
                          content.hide();
                                          });
                                      }
                                  };
                                  
                          window.addEvent('domready'monMenu.start);
                              
                              </
                          script>
                          <!--/ ************************************************************************--> 
                          IMPORTANT :
                          réglage sur le menu dans menu manager
                          Menu Tag ID ---> tagID
                          Suffixe à ajouter à la classe CSS ---> classeCSS
                          Suffixe de classe de module ---> _menuSlide

                          Qui va créer ces 3 sélecteurs :
                          .moduletable_menuSlide
                          .menuclasseCSS
                          soit : ul class="menuclasseCSS" id="tagID"

                          Il faut bien sur recorriger les CSS en conséquence
                          Dernière édition par ghazal à 17/08/2009, 19h04
                          “Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter le nouveau service (en Beta) de la base de connaissance https://kb.joomla.fr

                          Commentaire


                          • #14
                            Le menu de KKSOU que tu as choisi m'embête car il s'appuie sur une autre librairie JS, jQuery, avec la possibilité de conflits avec Mootools
                            Dernière édition par ghazal à 17/08/2009, 13h15
                            “Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter le nouveau service (en Beta) de la base de connaissance https://kb.joomla.fr

                            Commentaire


                            • #15
                              je n'ai pas testé ton code Ghazal, mais j'ai retrouvé un de mes codes de test que j'ai adapté et je pense que ça peut répondre facilement à la demande.
                              dans gestion d'un module de menu , paramètres avancés
                              menu tag Id : monmenu
                              suffixe de classe de module : _menu login
                              (_menu est le suffixe par défaut dans joomla pour les menus, il faut juste ici la classe login pour faire fonctionner le scriipt)
                              et voici le script à ajouter
                              Code:
                              window.addEvent('domready', function() {
                              
                              var mySlide = new Fx.Slide('monmenu');
                              
                              $$('.login h3').each(function(el) {
                              el.addEvent('click', function(e){
                              	e = new Event(e);
                              	mySlide.toggle();
                              	e.stop();
                              
                              });
                              });
                              });
                              En cliquant sur le titre du module de menu, le menu se cache et réapparait au clic.

                              EDIT : les classes et ID peuvent etre adaptées, moi je suis parti d'un test que j'avais fait sur le module de login, d'où la classe login...
                              EDIT 2 : oups, je viens de voir que ça ne marche que si on veut cacher un menu. La solution serait de dupliquer le code et les classes pour chaque menu.
                              Dernière édition par ced1870 à 17/08/2009, 19h48
                              Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                              http://www.template-creator.com Outil de création de templates
                              Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                              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