Comment insérer des fichiers css et javascript sur une seule page de mon site ?

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

  • [Problème] Comment insérer des fichiers css et javascript sur une seule page de mon site ?

    Bonjour la communauté,

    Je dois absolument pourvoir insérer des fichiers javascript et css sur certaines pages de mon site seulement et pas sur toutes les pages.
    Il faudrait que ces fichiers soit insérés dans la section <head> juste avant la balise de fermeture </head>
    Existe t'il une extension sécurisée et idéalement mise à jour régulièrement qui me permettrait de faire ça sur joomla 3.4.8 ?
    Sinon comment faire ?
    Je suis prêt à payer pour ça donc même une extension commerciale serait très bien. Ca me rassurerait même sur la sécurité.

    Je vous remercie, j’attends impatiemment vos conseils.
    A très bientôt j'espère,

    François

  • #2
    Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

    Bonjour

    Cédric Keiflin propose un plugin pour cela mais j'ai oublié le nom du plugin; tu devrais toutefois pouvoir le retrouver sur le site de l'auteur : http://www.joomlack.fr/fr/

    Il s'agit d'un plugin de type content permettant d'ajouter une balise à ton code (ton article p.ex.) pour charger ton css et ton js.

    Et c'est gratuit et Cédric étant un excellent développeur, c'est sécurisé également (maintenant tu peux payer quelque chose si cela te rassure )

    Bonne journée.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

      Excellent merci Christophe. Je vais mettre le sujet en résolu et tester tout ça.

      Commentaire


      • #4
        Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

        Salut Christophe et les autres,
        Le sujet n'est finalement pas résolu. Manque de chance je ne crois pas qu'il y ai le plugin dont tu parles sur le site http://www.joomlack.fr/fr/, j'ai envoyé un email sur le formulaire du site dont j'attend la réponse.

        D'autres suggestions ?

        Commentaire


        • #5
          Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

          Si c'est juste un code type google, directement dans le fichier de ton template qui gère le head.

          Certains te diront que ce n'est pas bien en cas de mise à jour, il faut le remettre... Mais cela résout ton problème sans extension en plus
          Christophe
          http://www.webcrea.fr

          Commentaire


          • #6
            Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

            oulah j'ai pas du tout compris Webcrea.
            Mon template est fait par mes petites mains.
            Actuellement je met absolument tous mes css et js dans le fichier index.php de mon template.
            Ce qui gère mon head dans mon template c'est cette ligne <jdoc:include type="head" /> ainsi que les scripts js et css que j'ai ajouté à la suite mais qui sont malheureusement chargés à chaque page.
            Le résultat c'est que ça ralenti le site énormément quand les js et css ne sont pas utilisés dans certaines pages.

            Par exemple :
            Sur deux pages de mon site seulement je met en page des tableaux très compliqués. Ces tableaux nécessitent le fichier datatables.js qui permet de fixer des colonnes du tableaux et autres spécificités. De même, cette page à des indications css spécifiques qui n'ont pas besoin d'être chargées sur d'autres pages.
            L'idéal serait donc de charger datatables uniquement sur ces 2 pages ainsi que le css spécifique à cette page

            Commentaire


            • #7
              Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

              Je ne pige pas, tu dis que tu n'as pas compris et tu m'expliques exactement ce que je te propose de faire !!

              Bref, ce que tu peux faire et c'est plus clean, utilises K2 tools par exemple, il y a aussi "module anywhere" qui fait ça ou celui de CK.

              Cela te permet d'inclure du php dans un module que tu assignes à tes 2 pages seulement où c'est utile.

              le code à insérer est
              <?php
              $doc = JFactory::getDocument();
              $doc->addStyleSheet($this->baseurl . '/messcripts/mon_css.css');
              $doc->addScript($this->baseurl . '/messcripts/mon_js.js');
              ?>
              Dernière édition par webcrea à 03/02/2016, 15h18
              Christophe
              http://www.webcrea.fr

              Commentaire


              • #8
                Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                bah oui je pige pas. Je sais ce que je voudrais faire mais je ne sais pas le faire. Je ne suis peut être pas clair
                C'est peut être parce que je ne parle pas le php à la différence de bon nombre d'entre vous pour qui c'est la langue maternelle.
                Voilà ce que je fais actuellement et qui ne me convient pas, puisque pas mal de js et css sont chargés sur toutes les pages même quand ils ne sont pas nécessaires :
                Code:
                <head>
                <jdoc:include type="head" /> 
                <link rel="stylesheet" href="styles-globlal-necessaires-sur-les-200-pages-du-site.css" type="text/css" />
                <link rel="stylesheet" href="fichier-css-utile-sur-3-pages-de-mon-site-sur-200.css" type="text/css" />
                <script type="text/javascript" src="fichier-js-utile-sur-2-pages-de-mon-site-sur-200.js"></script>
                </head>
                J'utilise déjà module anywhere, mais les fichiers doivent être ajoutés juste avant la fermeture de la balise </head>
                Comme je disais je comprend rien ou presque au php. je vais essayer de créer un custom module dans lequel je vais écrire ce code :
                Code:
                <?php
                $doc = JFactory::getDocument();
                $doc->addStyleSheet($this->baseurl . '/messcripts/mon_css.css');
                $doc->addScript($this->baseurl . '/messcripts/mon_js.js');
                ?>
                et puis je vais dire placer ce module dans les 2 pages qui m'intéressent.

                Je reviens vous dire si ça marche dans 5 minutes, mais déjà je peux dire que je préfèrerais éviter d'écrire du code php j'aime pas trop ça manipuler du code que je comprend pas.

                Commentaire


                • #9
                  Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                  ça devrait marcher car à la différence de ta méthode qui inclus les balises là où s'affiche le module, c-à-d dans le body. Mon code va ajouter la ligne d'insertion dans le head qui sera afficher qu'à la fin du traitement joomla...
                  Christophe
                  http://www.webcrea.fr

                  Commentaire


                  • #10
                    Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                    Ben non j'y arrive pas. Je dois mal m'y prendre.
                    Le code est inséré dans le corps de la page, c'est à dire dans le body à l'intérieur des balises <div> du module. En plus le code php est considéré comme du html
                    J'ai installé sourcerer un plugin qui permet d'insérer du code php et autres langage directement dans un module, un article et ailleurs.
                    Du coup quand j'utilise les tag {source} de sourcerer le code php à l'air d'étre compris mais le résultat c'est que ma page s'affiche entièrement blanche et que quand on affiche la source du code il n'y a rien. Le code est vide completement vide. Il ne reste que les balise <html>,<head>, et <body>
                    Code:
                    {source}
                    <?php
                    $doc = JFactory::getDocument();
                    $doc->addStyleSheet($this->baseurl . 'templates/montemplate/css/moncss.css');
                    ?>
                    {/source}

                    Est ce que tu voudrais bien me décrire un peu plus pas à pas la méthode ?
                    Dernière édition par boucdur à 03/02/2016, 16h45

                    Commentaire


                    • #11
                      Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                      Bonjour François,


                      Envoyé par boucdur Voir le message
                      Je dois absolument pourvoir insérer des fichiers javascript et css sur certaines pages de mon site seulement et pas sur toutes les pages. Il faudrait que ces fichiers soit insérés dans la section <head> juste avant la balise de fermeture </head>.
                      Il faudrait vérifier si cette condition est absolument requise, car si elle n'est pas absolument requise (= si les fichiers en question peuvent jouer leur rôle dans le <body>), une solution toute simple pourrait consister à créer un module de contenu personnalisé (custom) contenant les appels aux fichiers .JS et .CSS, et d'assigner ce module aux liens de menu concernés.

                      => A expérimenter.

                      Pour ma part, j'ai déjà fait cela plusieurs fois et sans rencontrer de problème (même avec les .JS).
                      Créateur de sites internet — Agence web indépendante http://www.e-33.fr | http://www.quali-site.fr (région de Bordeaux)

                      Commentaire


                      • #12
                        Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                        Essaye alors

                        $doc->addStyleSheet('/templates/montemplate/css/moncss.css');





                        $doc = JFactory::getDocument(); charge les méthodes et classes qui gère le document et $doc->addStyleSheet... ajoute à la queue le fichier css et c'est enprincipe au moment du rendu que le code html est généré
                        Christophe
                        http://www.webcrea.fr

                        Commentaire


                        • #13
                          Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                          bonjour PhilJ,
                          j'ai déjà expérimenté ta méthode qui marche bien avec le js, mais pas le css.
                          Le css ça ne peut pas être inséré dans le body à ma connaissance. Pour les js c'est possible ça oui. Mais par soucis de clareté, de bonne organisation et de simplicité j'aime ça que ce soit dans le head à l'endoit ou je veux et en appel au fichier plutôt que d'écrire le code directement dans la page.

                          J'ai trouvé deux extension pas trop mal pour ce que je veux :
                          mod_multijscss - module - https://github.com/ghazal/mod_multijscss
                          Loadtag GC - plugin - http://www.joomlack.fr/telecharger-e.../42-loadtag-gc
                          Loadtag marche mieux. Ceci dit dans les deux cas les extensions n'ont pas l'air très suivies par les programmeurs et les js et css sont insérés juste après les fichiers de head de joomla <jdoc:include type="head" /> alrs que dans l'idéal ils seraient insérés juste avant la fermeture de la balise </head>

                          En clair, si j'utilise le plugin Loadtag GC pour insérer une feuille style spécifique à une page en particulier la feuille de style sera chargée avant la feuille de style principale de mon site. Les style de la feuille de style spécifique de la page ne prendront donc pas le dessus sur les styles généraux du site. Ca c'est pas idéal.

                          Pour être plus clair :
                          Code:
                          <head>
                               <jdoc:include type="head" />
                               <link rel="stylesheet" href="templates/montemplate/js/js-spécifique-a-la-page-chargé-grace-a-loadtagGC.css" type="text/css" />
                               <link rel="stylesheet" href="templates/montemplate/css/styles-globaux-du-site.css" type="text/css" />
                          </head>
                          Dernière édition par boucdur à 03/02/2016, 17h41

                          Commentaire


                          • #14
                            Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                            Envoyé par boucdur Voir le message
                            j'ai déjà expérimenté ta méthode qui marche bien avec le js, mais pas le css.
                            Le css ça ne peut pas être inséré dans le body à ma connaissance.
                            Si si, ça marche très bien, et même bien plus sûrement que le JS, du fait que les directives CSS sont chargées après le </head> contenant les appels aux autres fichiers CSS.

                            Mais par soucis de clareté, de bonne organisation et de simplicité j'aime ça que ce soit dans le head à l'endoit ou je veux et en appel au fichier plutôt que d'écrire le code directement dans la page.
                            Question à mon avis secondaire, dans la mesure où (1°) ça marche bien, (2°) les visiteurs ne regardent pas le code, et accessoirement où (3°) le nombre de pages concerné est limité.
                            Créateur de sites internet — Agence web indépendante http://www.e-33.fr | http://www.quali-site.fr (région de Bordeaux)

                            Commentaire


                            • #15
                              Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                              Bingo loadtag gc de Cédric et Ghazal.
                              Christophe (cavo789)
                              Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                              Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X