Positionner "logiquement" 3 modules

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

  • [RÉGLÉ] Positionner "logiquement" 3 modules

    Salut à tous,

    J'ai besoin de vos lumières

    Posons comme postulat de départ que je suis une bille en php, mon dada c'est plus le css

    J'essaie de créer un template joomla pour lequel à un moment du flux je souhaite la présence de 3 blocks ou modules.

    Mais j'aimerais que ces 3 blocks se comportent de manière "intelligente", c'est à dire que par exemple si le module top-b n'est pas activé, le module top-c "glisse" vers la gauche et prend sa place.

    J'ai regardé par ici sans parvenir à une solution (http://docs.joomla.org/JDocumentHTML/countModules), mes 3 modules restent bien ancrés dans leur position et leur position ne s'adapte pas en fonction des activations/publications respectives.

    Voici mon code :

    Code PHP:
    <?php if($this->countModules('top-a + top-b + top-c')) : ?>
      
      <div class="row">
      
        <?php if($this->countModules('top-a')) : ?>
        <div class="four columns">
          <jdoc:include type="modules" name="top-a" style="module" />
        </div>
        <?php endif; ?>
        
        <?php if($this->countModules('top-b')) : ?>
        <div class="four columns">
          <jdoc:include type="modules" name="top-b" style="module" />
        </div>
        <?php endif; ?>
        
        <?php if($this->countModules('top-c')) : ?>
        <div class="four columns">
          <jdoc:include type="modules" name="top-c" style="module" />
        </div>
        <?php endif; ?>
        
      </div>
      <?php endif; ?>
    J'imagine qu'il va falloir complexifier tout çà et je suis preneur de conseils avisés

    Ryo
    Dernière édition par ryosanisback à 30/12/2012, 13h05

  • #2
    Re : Positionner &quot;logiquement&quot; 3 modules

    Si tu es un as en css, tu as juste à aligner à gauche les modules b et c

    block en ligne...

    maintenant, si tu souhaites jouer sur la largeur de tes modules en fonction du nombre de modules afficher

    <?php

    $nombre_mod = $this->countModules('top-a') + $this->countModules('top-b') + $this->countModules('top-c');


    if($nombre_mod == 1) $class = "un_module";

    if($nombre_mod == 2) $class = "deux_modules";

    if($nombre_mod == 3) $class = "trois_modules";
    ?>

    Dans index.php


    <?php if($this->countModules('top-a')) : ?>
    <div class="<?php echo $class; ?>">
    <jdoc:include type="modules" name="top-a" style="module" />
    </div>
    <?php endif; ?>

    ...etc

    où un_module, deux_modules, trois_modules sont les classes respectives à appliquer aux modules en fonction du nombre de modules à afficher

    ta css devrait ressembler à :

    .un_module{
    width:750px;
    }

    .deux_modules{
    width:375px;
    }

    .trois_modules{
    width:250px;
    }

    ps :
    <div class="four columns">
    évite les espaces dans les classes

    Christophe
    http://www.webcrea.fr

    Commentaire


    • #3
      Re : Positionner &quot;logiquement&quot; 3 modules

      Envoyé par webcrea Voir le message

      <?php

      $nombre_mod = $this->countModules('top-a') + $this->countModules('top-b') + $this->countModules('top-c');


      if($nombre_mod == 1) $class = "un_module";

      if($nombre_mod == 2) $class = "deux_modules";

      if($nombre_mod == 3) $class = "trois_modules";
      ?>
      merci pour ta réponse ce code serait à placer ou ?

      Commentaire


      • #4
        Re : Positionner &quot;logiquement&quot; 3 modules

        dans index.php de ton template
        Christophe
        http://www.webcrea.fr

        Commentaire


        • #5
          Re : Positionner &quot;logiquement&quot; 3 modules

          hello, merci

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X