Image d'accroche qui ne s'affiche pas

entropieentropie Member
28 janv. modifié dans Entraide

Bonjour,

Je voudrais utiliser les images d'accroche, mais je me rends compte qu'elle n’apparaissent pas.
Je pense que du côté de l'interface d’administration c'est ok, car quand je sélectionne mon image je la vois bien sous la fenêtre de rédaction. Par contre une fois publié ou même en preview elle ne s'affiche pas.

J'imagine que le souci vient de mon thème. J'ai essayé avec le thème kzSkya trouvé ici https://kazimentou.alwaysdata.net/pluxml/ afin d'être sur que le problème ne venait pas de mon thème que j'aurais trop modifié, mais même constat.

Si quelqu'un a une piste à me donner ce serait sympa.

@+

Réponses

  • bazooka07bazooka07 Moderator
    27 janv. modifié

    Bonjour,
    Le thème Skaya date de 2014. A l'époque, je ne suis pas sûr que PluXml gérait les images d'accroche.
    Il faut utiliser la fonction plxShow::artThumbnail() :

    <?php
    if (!defined('PLX_ROOT')) {
        exit;
    }
    
    ?>
                <div> <!-- begin of posts.php -->
    <?php
    while ($plxShow->plxMotor->plxRecord_arts->loop()) {
    ?>
                    <article id="post-<?= $plxShow->artId(); ?>" class="article" role="article">
                        <header>
                            <h1><?php $plxShow->artTitle('link'); ?></h1>
                            <p>
                                <?php $plxShow->lang('WRITTEN_BY'); ?> <?php $plxShow->artAuthor() ?> /
                                <?php $plxShow->artDate('#num_day #month #num_year(4)'); ?> /
                                <?php $plxShow->artNbCom(); ?>
                            </p>
                        </header>
                        <section>
                            <?php $plxShow->artThumbnail(ART_THUMBNAIL_TEMPLATE); ?>
                            <div>
                                <?php $plxShow->artChapo($plxShow->getLang('READ_MORE')); ?>
                            </div>
                        </section>
                        <footer>
                            <p>
                                <?php $plxShow->lang('CLASSIFIED_IN') ?> : <?php $plxShow->artCat(); ?> /
                                <?php $plxShow->lang('TAGS') ?> : <?php $plxShow->artTags(); ?>
                            </p>
                        </footer>
                    </article>
    <?php
    }
    ?>
                </div>
                <div id="pagination">
                    <?php $plxShow->pagination(); ?>
                </div>
                <!-- end of posts.php -->
    

    Même chose avec article.php.
    J'ai fait la mise à jour du thème chez Alwaysdata.

  • entropieentropie Member
    28 janv. modifié

    Merci beaucoup, c'est bien ce que j'imaginais. Par contre je ne comprends pas pourquoi, j'ai beau avoir cherché partout je n'ai pas de fichier posts.php dans mon theme. J'ai même comparé votre thème modifié avec le mien mais je vois pas.

    article.php ok, mais posts.php ça n'y figure pas.

    D'ailleurs j'ai aussi noté que vous aviez aussi édité header.php et footer.php.

    Par contre j'arrive à afficher la miniature sur la page d’accueil, en ajoutant ceci à à header.php

    const ART_THUMBNAIL_TEMPLATE = <<< EOT <a class="art thumbnail" href="#img_url"><img src="#img_thumb_url" alt="#img_alt" #img_thumb_size title="#img_title" /></a> EOT;

    Reste que la miniature est mal positionnée et le texte vient se loger en dessous et non pas à côté, enfin bref, c'est jamais aussi simple que je l'imagine 😅

    Je crois que je vais laisser tomber et quand j'aurais le temps je pense que je vais passer sur votre thème, même si je vais devoir refaire toutes mes modifs.

  • bazooka07bazooka07 Moderator

    les fichiers home.php, categorie.php, tags.php et archives.php utilisent le même code dans la boucle qui affiche les chapôs d'articles du thème "defaut" de PluXml. C'est un bug !
    Il faut isoler ce code php commun à ces 4 fichiers dans un fichier posts.php et faire un include dans ces 4 fichiers.
    Quand on rajoute l'image d'accroche pour chaque article, il ne faut plus modifier que le fichier posts.php au lieu des 4 autres fichiers.
    Pour loger l'image sur le côté, il faut jouer avec les règles CSS comme "float: left".
    N.B. : j'ai mis $plxShow->chapo() dans une <div> pour supprimer la marge haute du 1er <p> du chapo et aligner le contenu avec l'image.

    S'il s'agit juste de modifier quelques couleurs dans ton thème, cela se fera sans trop d'effort avec mon thème.

  • Oui donc je pense que le plus judicieux sera de passer sur ton thème. Par contre malheureusement ça va me prendre plus de temps que juste changer les couleurs car je l'ai déjà bien modifié, boutons, header, footer, couleurs, typo, plugins, marges, comportement sur mobile, styles des puces, fichier lang, icônes et j'en passe.

Connectez-vous ou Inscrivez-vous pour répondre.