FLEXIcontent : mettre les champs personnalisés dans une div

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

  • [RÉGLÉ] FLEXIcontent : mettre les champs personnalisés dans une div

    Salut

    Dans FLEXIcontent j'ai fait des champs personnalisés qui sont dans div="description" :

    Code PHP:
    <!-- BOF description -->
    <div class="description">
    <?php foreach ($item->positions['description'] as $field) : ?>
    <?php 
    if ($field->label) : ?>
    <div class="desc-title label <?php echo $field->name?>"><?php echo $field->label?></div>
    <?php endif; ?>
    <div class="desc-content <?php echo $field->name?>"><?php echo $field->display?></div>
    <?php endforeach; ?>
    </div>
    <!-- EOF description -->
    <?php endif; ?>
    Le problème c'est que les desc-title et les desc-content de chacun des champs sont dispatchés dans div="description". Ce que j'aimerais c'est avoir le desc-title et le desc-content dans une div. Ça permettra de mieux placer les champs.

    J'ai donc fait ça :

    Code PHP:
    <!-- BOF description -->
    <div class="description">
    <?php foreach ($item->positions['description'] as $field) : ?>
    <?php 
    if ($field->label) : ?>
    <div class="<?php echo $field->name?>">
    <div class="desc-title label <?php echo $field->name?>"><?php echo $field->label?></div>
    <?php endif; ?>
    <div class="desc-content <?php echo $field->name?>"><?php echo $field->display?></div>
    </div>
    <?php endforeach; ?>
    </div>
    <!-- EOF description -->
    <?php endif; ?>
    Mais ça me met le zouk dans le code.

    Je précise que je bidouille dans le code php (en prenant mes précautions) mais que je ne m'y connais pas.

    Joomla 3.10.10
    FLEXIcontent 4.0.2
    Sur mon site www.nenex-ordinateur-libre.net : tutos sur des logiciels et services libres.

    Association Sorgin Informatique Libre ( www.sorgin-informatique-libre.org). Education populaire au numérique libre et au libre en général.

  • #2
    Salut

    Dans ta première boucle, il y a 2 <div> après le if. Par contre, Il n'y a qu'un seul </div> avant le endif.
    schtroumph aime ceci.

    Commentaire


    • #3
      Je ne comprenais pas ce que tu voulais dire. Mais en essayant d'y comprendre quelque chose, j'ai remarqué que le if concernait le label :

      <?php if ($field->label) : ?>
      J'ai cherché à quoi sert cette expression. En fait dans les réglages des champs de FLEXIcontent il est possible d'afficher ou non le label. Cette expression est faite pour ça et dans le code de base elle encadre le div du label :

      Code PHP:
      <?php if (isset($item->positions['description'])) : ?>
      <!-- BOF description -->
      <div class="description">
      <?php foreach ($item->positions['description'] as $field) : ?>

          <?php if ($field->label) : ?>
          <div class="desc-title label <?php echo $field->name?>">
              <?php echo $field->label?>
          </div>
          <?php endif; ?>

          <div class="desc-content <?php echo $field->name?>">
              <?php echo $field->display?>
          </div>

      <?php endforeach; ?>
      </div>
      <!-- EOF description -->
      <?php endif; ?>

      Or, j'avais mal placé la première div qui me permet de regrouper desc-title et desc-content et qui aurait dû être avant le if :

      Code PHP:
      <!-- BOF description -->
      <?php if (isset($item->positions['description'])) : ?>
      <div class="description">
      <?php foreach ($item->positions['description'] as $field) : ?>

          <div class="<?php echo $field->name?>">

              <?php if ($field->label) : ?>
              <div class="desc-title label">
                  <?php echo $field->label?>
              </div>
              <?php endif; ?>

              <div class="desc-content">
                  <?php echo $field->display?>
              </div>

          </div>

      <?php endforeach; ?>
      </div>
      <!-- EOF description -->
      <?php endif; ?>

      Maintenant ça marche.

      J'aurais appris quelque chose en php. Merci pour ton aide
      Sur mon site www.nenex-ordinateur-libre.net : tutos sur des logiciels et services libres.

      Association Sorgin Informatique Libre ( www.sorgin-informatique-libre.org). Education populaire au numérique libre et au libre en général.

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X