Mettre les infos utiles au dessus du chapeau

Bonjour,

*** Présentation rapide:
Davadel aka David Pollet. 29 ans, designer pour le web + l'impression, intégrateur. Je viens ici parce que je me suis lancé dans la production de mon blog. J'ai choisi votre CMS parce que c'est tout ce que j'aime : léger et donc ami de la webperf, maintenable et et et Français ! Merci et félicitation pour ce beau travail.
****
Aller, j'en viens au fait.

Je cherche à avoir cette structure pour mes articles :
[== HTML ==]
header
   h1 titre de l'article
   p date de l'article
   figure image qui illustre l'article

section.content
   p autres infos utiles (nombre de commentaires, tags, ...)
   et le contenu de l'article (chapeau + contenu donc)

J'ai presque réussi à produire le code de cette mise en page. Là où ça bloque, c'est que je n'arrive pas à mettre les autres infos utiles au dessus du chapeau de mes articles.


Merci d'avance pour l'aide éventuel dont je pourrais bénéficier. :)

Réponses

  • Il faudrait le code du fichier home.php par exemple ça nous permettrait de t'aider.
    Tu peux également regarder le code du thème par défaut. Tu as quasiment tout ce que tu demandes à portée de la main.
  • Salut,
    Désolé de ne pas l'avoir fait. Comme c'était une question d'ordre générale, je me suis dit que ce n'est pas utile.

    Voici le code d'un article en home page
    [== php ==]
    <article role="article" id="post-<?php echo $plxShow->artId(); ?>" class="container-article">
       <header>
          <h1 class="h3-like">
             <?php $plxShow->artTitle(''); ?>
          </h1>
    					
          <p class="date">
             <?php $plxShow->artDate('#num_day #month #num_year(4)'); ?>
          </p>
       </header>
    				
       <section class="content-article">
          <?php $plxShow->artChapo(); ?>
       </section>
    </article>
    

    Je sais que c'est le bout de code ci dessous que je dois placer mais je ne sais pas où je dois le mettre. Si je le place dans <section class="content"> et dessus de l'appel du chapeau, les infos se placent au dessus de mon illustration (que j’insère dans l'édition de l'article au niveau du chapeau).

    [== PHP ==]
    <p class="infos-article">
       <?php $plxShow->lang('WRITTEN_BY') ?> <?php $plxShow->artAuthor(); ?> -
       <?php $plxShow->lang('CLASSIFIED_IN') ?> : <?php $plxShow->artCat(); ?> -
       <?php $plxShow->lang('TAGS') ?> : <?php $plxShow->artTags(); ?>
       <?php $plxShow->artNbCom(); ?>
    </p>
    
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    Voilà comment obtenir ce que tu veux.
    Seule condition à respecter: mettre ton image qui sert d'illustration dans le chapo et le texte de l'article dans la zone contenu
    <article role="article" id="post-<?php echo $plxShow->artId(); ?>" class="container-article">
    	<header>
    		<h1 class="h3-like">
    			<?php $plxShow->artTitle(''); ?>
    		</h1>
    					
    		<p class="date">
    			<?php $plxShow->artDate('#num_day #month #num_year(4)'); ?>
    		</p>
    	</header>
    				
    	<section class="content-article">
    		<?php $plxShow->artChapo('', false); ?>
    		<p class="infos-article">
    			<?php $plxShow->lang('WRITTEN_BY') ?> <?php $plxShow->artAuthor(); ?> -
    			<?php $plxShow->lang('CLASSIFIED_IN') ?> : <?php $plxShow->artCat(); ?> -
    			<?php $plxShow->lang('TAGS') ?> : <?php $plxShow->artTags(); ?>
    			<?php $plxShow->artNbCom(); ?>
    		</p>
    		<?php $plxShow->artContent(false); ?>
    	</section>
    </article>
    

    Petites explications:

    L'instruction ci-dessous permet d'afficher le chapo (s'il existe) et le contenu de l'article
    <?php $plxShow->artChapo(); ?>
    

    Pour l'instruction ci dessous
    parametre 1: format par défaut du lien 'Lire la suite' (ici renseigné avec '' pour prendre le format par défaut)
    parametre 2: à faux pour ne pas afficher le contenu de l'article
    <?php $plxShow->artChapo('', false); ?>
    
    c'est syntaxe qu'on utilise pour ce que tu veux

    L'instruction ci-dessous permet d'afficher le chapo (s'il existe) et le contenu de l'article
    <?php $plxShow->artContent(); ?>
    

    Pour l'instruction ci-dessous, seul le contenu de l'article est affiché
    parametre 1: TRUE affiche chapo+contenu, FALSE affiche que le contenu
    <?php $plxShow->artContent(false); ?>
    
    C'est cette syntaxe qu'on utilise pour ce que tu veux

    Donc en résumé:
    1) on affiche uniquement le chapo (qui ne doit contenir que l'image)
    2) on affiche les infos de l'article (auteur, catégories, tags, nb coms)
    3) on affiche le contenu de l'article

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Salut et merci pour ta réponse,
    Merci ça produit bien l'effet que je souhaite... sauf que je ne souhaite pas afficher la totalité de l'article en page d'accueil. Certains articles seront chargés en images et ce serait dommage d'imposer le chargement de ces images -parfois lourdes- à tous les utilisateurs alors qu'ils ne liront pas forcement cet article.

    Si ce n'est pas possible, je peux gérer avec du css et une position absolute comme mes illustrations d'articles feront toutes la même hauteur. C'est quand on passera en mode responsive où ça posera un petit problème.

    J'aurais préféré une solution plus élégante mais si ce n'est pas possible, je m'en accommoderais. ^^
  • Jerry WhamJerry Wham Member
    octobre 2013 modifié
    Sinon, tu as une autre possibilité mais qui est un peu tirée par les cheveux.
    Tu utilises le chapo et le content comme ils devraient l'être (chapo = début ou résumé, mais sans image, content = article complet) et tu utilises l'inclusion de pages statiques pour afficher ton image, en prenant soin de créer une page statique pour chaque article et en vérifiant que chaque page statique ait le même index que l'article auquel elle est rattachée. Chaque page statique ne contiendra que l'image de présentation de l'article.

    Et là où tu veux mettre ton image, tu mets :
    <?php $plxShow->staticInclude($plxShow->artId()) ?>
    
  • Salut,
    Le hack me plait mais ça reste plus facile (et maintenable) de passer par du css dans ce cas. ^^

    D'ailleurs, est-ce qu'il ne serait pas pertinent d'inclure la possibilité de mettre une image d'illustration dans une zone spécifique dans l'édition d'un article (comme le chapeau) et de contrôler son affichage par un
    [== Indéfini ==]
    <?php $plxShow->artImage(); ?>
    

    par exemple ?

    Merci pour votre aide. Je vais donc opter pour la solution en css, faute de mieux. :/
  • Au pire tu as le plugin ChampArt de Danielsan, qui permet d'ajouter autant de champ que tu souhaite.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Davadel je te ferai une autre proposition demain.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Salut Stéphane,
    Je vais tenter avec le plugin donc ne te donne pas la peine pour l'instant sauf si ça te prend peu de temps.

    Merci à vous. :)
  • J'ajouterai que l'on peux aussi supprimer le lien "Lire la suite..." avec
    <?php $plxShow->artChapo(false); ?>
    
    Je viens tout juste de mettre à jour mon site avec pas mal de petit 'goodies' dont cette astuce ;)
    Pour les images voir ce lien sur mon site.
Connectez-vous ou Inscrivez-vous pour répondre.