Comment appeller un module en fonction du navigateur du visiteur ?

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

  • Comment appeller un module en fonction du navigateur du visiteur ?

    Bonjour
    J'aimerai afficher un petit module html dans ma colonne de gauche sous le template purity, mais qui n'apparaisse que si le navigateur du visiteur est IE. Je sais comment faire l'appel conditionnel en php par contre comment faire pour lui dire de ne prendre en compte un module donné ?
    Merci de vos suggestions.
    Romain
    PS j'ai mis le module en question sur ma page d'accueil, mais pour l'instant il apparait quelque soit le navigateur.
    Dernière édition par romainduf à 19/02/2010, 04h56

  • #2
    Juste une correction : de préférence c'est à ton script Javascript qui devrait, sur le frontend, faire la différence. PHP devrait rester indépendant.
    Christophe (cavo789)
    Développeur d'aeSecure; protection, optimisation et nettoyage (après hack) de sites web Apache https://www.aesecure.com/fr
    Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes

    Commentaire


    • #3
      si tu sais faire la condition en php, tu la mets juste avant l'appel de la position, genre
      Code PHP:
      div class="left"
      jdoc:include "left"
      if condition php de IE
      {
      jdoc:include "positionIE"
      }
      /
      div 
      voila, c'est du raccourci vite faite, mais l'idée est là !
      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


      • #4
        Envoyé par ced1870 Voir le message
        si tu sais faire la condition en php,
        Je n'avais pas dit que non mais que, préférablement, PHP (et donc le code côté serveur) devrait rester neutre.
        Christophe (cavo789)
        Développeur d'aeSecure; protection, optimisation et nettoyage (après hack) de sites web Apache https://www.aesecure.com/fr
        Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes

        Commentaire


        • #5
          Merci les gars pour vos réponse rapides !

          Bon par contre je n'ai pas compris dans ce cas comment faire une module qui apparaisse dans la "positionIE" Ca se définit ou ?
          Mon template purity me propose les positions classiques.
          Si j'ai bien compris je dois inclure cette div conditionnelle dans la partie qui définit ma colonne gauche de mon template (ja-col1 dans mon cas pour purity)

          ce qui donnerait donc un index.php comme ceci :
          Code:
          <!-- BEGIN: LEFT COLUMN -->
          <div id="ja-col1">
          	<jdoc:include type="modules" name="left" style="xhtml" />
          	<!--[if IE 7.0]>
          		<jdoc:include "positionIE">
          	<![endif]-->
          </div>
          Bon merci pour votre aide !

          Commentaire


          • #6
            heu ouais mais faut y mettre les formes ! tu as bien vu que j'ai écrit ça à l'arrache
            Code PHP:
            <!-- BEGINLEFT COLUMN -->
            <
            div id="ja-col1">
                <
            jdoc:include type="modules" name="left" style="xhtml" />
                <!--[if 
            IE 7.0]>
                    <
            jdoc:include type="modules" name="positionIE" style="xhtml" />
                <![endif]-->
            </
            div
            @cavo : je ne vois pas pourquoi il faudrait privilégier le js, au contraire si on peut réaliser les requêtes en php au lieu de faire appel à une librairie qui peut etre désactivée par une stratégie du navigateur. et puis en 2 lignes de php c'est réglé, sinon faut ouvrir des balises script, balancer le truc pour qu'il opère et tout et tout... non ? si tu as une explication plus poussée je suis preneur

            EDIT : ah oui tu édites ton module et tu tapes le nom de la position : positionIE
            pour faire bien faudrait la déclarer aussi dans le XML du template
            Dernière édition par ced1870 à 18/02/2010, 20h37
            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


            • #7
              Non, pas d'explications plus poussée à ce stade : il me semble juste qu'il est plus opportun de bien délimiter les périmètres d'action.

              Mon intuition me fait pencher à ce que le code PHP soit indépendant du browser et tant qu'on y est de l'operating system où sera affiché la page.

              En JS, tu peux faire la détection et charger une page en fonction d'une condition. Voilà...
              Christophe (cavo789)
              Développeur d'aeSecure; protection, optimisation et nettoyage (après hack) de sites web Apache https://www.aesecure.com/fr
              Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes

              Commentaire


              • #8
                Merci beaucoup ced1870
                Effectivement ta solution marche impeccable.
                Comme je suis débutant, je n'ai pas bien compris le débat avec le coté serveur ou autre, l'essentiel est que ca marche sans utilisation de JS.

                Commentaire


                • #9
                  Ce n'est pas vraiment un débat, juste un échange de point de vue. T'inquiète pas!

                  Juste une toute petite précision : le développement sous Joomla est, préférablement, orienté vers un modèle qu'on appelle MVC pour Modèle - Vue - Contrôlleur c'est-à-dire que le programmeur est "convié" à respecter une norme :

                  * Récupérer des informations (lire un fichier externe, faire des requêtes dans la base de données, ...) doit se faire dans ce qu'on appelle un modèle.

                  * L'affichage d'information se fait dans une vue

                  * L'interaction entre le client (le surfeur) et le site web se fait dans le contrôlleur.

                  Ceci en quelques mots.

                  Il est donc demandé de bien segmenter qui fait quoi. C'est dans cette optique que je pense que le check du browser devrait se faire sur le client. C'est juste un point de vue et je me sens bien seul sur le coup

                  En attendant, ravi de lire que ced et fly t'ont aidé.
                  Christophe (cavo789)
                  Développeur d'aeSecure; protection, optimisation et nettoyage (après hack) de sites web Apache https://www.aesecure.com/fr
                  Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes

                  Commentaire


                  • #10
                    merci pour ce petit cours très instructif

                    mais là c'est juste une petite modif du template qui plus est se trouve dans la partie view si je ne me trompe et donc qui gère l'affichage du module. Mais je crois qu'ici c'est surtout une histoire de point de vue !
                    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