Afficher / Masquer un module selon une condition

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

  • Afficher / Masquer un module selon une condition

    Bonjour,
    Je souhaiterai savoir s'il est possible de n'afficher un module que si une condition est respectée.

    Par exemple, un membre enregistré commente un article.
    Dans la table je regarde l'id du user et s'il a au moins publié un commentaire, j'affiche le module sinon je ne l'affiche pas.

    Je pourrai bien entendu utiliser un script mais dans ce cas c'est le contenu du module qui sera affiché ou pas et cela laisse l'emprunte du module sur la page.
    Bien sûr, je comprends bien que ce script est dans le code du module lui même.

    Je pensais à quelque chose du style:

    Mettre par exemple l'id="ShowHide" pour la div qui englobe ce qu'il y a à afficher.

    Code PHP:
     $idCommentaire 1;
        
            <
    script type="text/javascript">        
            
    jQuery(document).change(function () {
            if (
    jQuery("#idCommentaire ").val() != 1){                
                    
    jQuery("#ShowHide").hide();        
                }
            });    
            </
    script
    Quelqu'un aurait-il une idée pour masquer le module te pas seulement son contenu ?

    Cordialement.

    Eric

  • #2
    Re : Afficher / Masquer un module selon une condition

    As-tu regardé du côté de RegularLabs qui a une extension 'Conditional' ?
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

    Commentaire


    • #3
      Re : Afficher / Masquer un module selon une condition

      C'est un module standard ou un que tu as écris ?
      UP, le plugin universel à découvrir sur https//up.lomart.fr
      bgMax
      , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

      Commentaire


      • #4
        Re : Afficher / Masquer un module selon une condition

        Bonjour lomart,
        Merci pour ton aide.

        Je prépare un petit module (Pour EasySocial) qui a pour tâche d'afficher un tableau de bord des pages, groupes ou événements.
        Cela fonctionne bien, mais maintenant je ne veux qu'il s'affiche que pour les utilisateurs qui on créé une page, un groupe ou un événement.

        Cordialement.

        Eric

        Commentaire


        • #5
          Re : Afficher / Masquer un module selon une condition

          Dans ce cas, tu fais ton test en entrée de ton module avec un return direct si la condition n'est pas bonne
          UP, le plugin universel à découvrir sur https//up.lomart.fr
          bgMax
          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

          Commentaire


          • #6
            Re : Afficher / Masquer un module selon une condition

            ok, je vais regarder comment faire cela.

            Commentaire


            • #7
              Re : Afficher / Masquer un module selon une condition

              Je le fais dans mon module LM-Custom
              UP, le plugin universel à découvrir sur https//up.lomart.fr
              bgMax
              , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

              Commentaire


              • #8
                Re : Afficher / Masquer un module selon une condition

                Je cherche une doc pour utiliser return direct.

                J'ai fait ma condition comme cela:

                Code PHP:
                <?php
                    
                // Extraire l' id du cluster si le type = $type et _creator_uid = $idUser

                    
                $db2 JFactory::getDbo();
                    
                $query2 $db2->getQuery(true);
                    
                $query2->select ('id');
                    
                $query2->from($db2->quoteName('#__social_clusters'));
                    
                $query2->where($db2->quoteName('cluster_type')." = ".$db2->quote($Type)."AND".$db2->quoteName('creator_uid')." = ".$db2->quote($idUser));

                    
                $db2->setQuery($query2);
                    
                $idClusterFiltre $db2->loadResult();
                ?>
                <?php
                // Test pour les membres qui n'ont pas de page
                    
                if ($idClusterFiltre == null)
                        {
                            
                $noPage 0;
                        }
                ?>
                Je suppose que maintenant j'utilise la valeur de $noPage.
                Si j'ai 0 c'est que le membre n'a pas créé de page, donc le module ne doit pas s'afficher.

                La question, le test et le return, tu mets cela dans le default.php ou dans le helper ?

                Cordialement.

                Eric
                Dernière édition par Agrepe à 03/08/2017, 21h36

                Commentaire


                • #9
                  Re : Afficher / Masquer un module selon une condition

                  si le test est fait en tête du script principal, il suffit d'ajouter :
                  if (!$nopage) return;

                  OU

                  if ($idClusterFiltre==null) return;
                  UP, le plugin universel à découvrir sur https//up.lomart.fr
                  bgMax
                  , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                  Commentaire


                  • #10
                    Re : Afficher / Masquer un module selon une condition

                    Bonsoir,
                    En tête du script principal, tu entends quoi par cela ?
                    Dans le fichier default.php ? (De tmpl)
                    Effectivement, ça marche bien, mais le module reste affiché, vide certe, mais reste affiché.
                    Dernière édition par Agrepe à 03/08/2017, 22h36

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X