We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33582
    • 80 Posts
    Bonjour à tous.

    Je me posait une question sur une méthodologie sur un site que je développe actuellement sous modx.
    J’aimerai faire un lien sur la home page de ce site qui lors du clic désactive tous les css pour toute les pages du site.

    Je pensait créer une TV sur la homepage et la mettre à jour lors du clic sur le lien. Le problème avec cette solution, c’est que lorsque l’on va sur une autre page le css sera actif car modx testera la tv sur cette 2ème page.

    J’ai donc pensé à créer une variable de session
    $_Session["activeCSS"]
    que je met à jour lors du clic. Mais je ne vois pas comment réaliser cela.

    Avez-vous déjà effectué un travail semblable ? Envisagez-vous d’autres solution ? Merci de vos réponses
      Aur
      • 23050
      • 1,842 Posts
      Salut znorelo,

      Tu peux peut-être t’inspirer du snippet CSS Switcher pour arriver à tes fins wink
        • 33582
        • 80 Posts
        Merci Perrine pour cette réponse rapide : je vais jetter un oeil à ce snippet. Mais je reviens sur ma solution de variable de session en php. Peut-on les utiliser sans soucis de sécurité ou autre ?

        Je m’explique : je pensais créer un snippet qui initialise une variable du genre :
        //Par défaut les css sont activées
        $_SESSION['cssActive']=true
        

        Ensuite ce snippet test si $_SESSION[’cssActive’] est à true.
        -> si oui, alors, il charger mes feuilles de style
        -> si non, alors il ne fait rien.

        Le problème que je me pose, c’est comment, par un simple clic, changer la valeur de cette variable ?

        Je vais creuser un peu le soucis, mais si vous avez des éléments de réponse, je suis preneur.
          Aur
          • 23050
          • 1,842 Posts
          Désolée si je n’ai pas répondu, mais je n’ai pas la réponse :/
            • 16732
            • 592 Posts
            Quote from: znorelo at Sep 03, 2007, 04:28 AM

            Le problème que je me pose, c’est comment, par un simple clic, changer la valeur de cette variable ?
            Effectivement oublie la TV, il te faut plutôt un peu de PHP (de base) et un soupçon de compréhension des Plugins MODx.

            Voici la première recette qui me vient à l’esprit (pas forcément optimisée mais c le principe) :

            1 lien vers ta page comportant une variable quelconque ex : cssActive=1
            1 plugin qui vérifie à chaque chargement de page la valeur de $_SESSION[’cssActive’]:
            si $_SESSION[’cssActive’]=1 et pas de cssActive alors affichage des css
            si $_SESSION[’cssActive’]=1 et cssActive alors $_SESSION[’cssActive’]=0 et pas d’inertion des css,
            si $_SESSION[’cssActive’]=0 et pas cssActive pas d’inertion des css
            et si $_SESSION[’cssActive’]=0 et cssActive alors $_SESSION[’cssActive’]=1 et affichage des css

            Pour insérer tes css avec le plugin tu peux utiliser $modx->regClientCSS

            infos sur les plugins (courtes je te l’accorde, mais bon, on a rien sans rien ) :
            http://www.modxcms.com/plugin-examples.html

            A toi de jouer wink