lien vers articles

Bonjour,
J'utilise le thème par défaut 5.6 qui ne convient parfaitement. En page d'accueil, j'aimerais juste que lorsqu'on clique sur les images, cela ouvre l'article et pas l'image.
Possible ?
Merci

Mots clés:

Réponses

  • Bonsoir
    j'utilise ce code

    <a href="?article4/titre-article-url"  >
    <img  style="width:20%" src="data/medias/art_4/nom_image.png" title="titre de l image" >
    </a>
    

    ( maintenant , je précise le titre-article-url, derrière le numéro de l'article . )

  • merci de cette réponse, il faut modifier quel fichier de pluxml ?

  • pas de fichier à modifier ; mettre le code ci-dessus ,là où tu veux placer ton image

  • Bonjour,
    Si tu utilises les vignettes ou image d'accroche pour tes articles, tu peux mettre cela dans la boucle sur les articles dans ton template :

    $plxShow->artThumbnail($format='<a href="#img_url"><img class="art_thumbnail" src="#img_thumb_url" alt="#img_alt" title="#img_title" /></a>', true, true);
    

    Le dernier "true" fera pointer l'image vers l'article.

  • effectivement, le but est bien de sur les image d'accroche des articles, et je ne vois pas modifier les 90 articles à la main.
    Merci de votre aidde

  • Bon, en fait, cela ne fonctionne pas, j'ai mis la ligne de bazooka07 dans le home.php du template, en remplacant
    <?php $plxShow->artThumbnail();?> mais cela ne change rien, cela ouvre l'image est pas l'article. Qu'ai-je manqué ?

  • Ok, j'ai recopié comme un bourrin. J'espère que tu n'as pas mis "$format".

    Pour le fichier home.php dans le thème "defaut" :

    <?php include __DIR__.'/header.php'; ?>
    
        <main class="main">
    
            <div class="container">
    
                <div class="grid">
    
                    <div class="content col sml-12 med-9">
    
                        <?php while($plxShow->plxMotor->plxRecord_arts->loop()): ?>
    
                        <article class="article" id="post-<?php echo $plxShow->artId(); ?>">
    
                            <header>
                                <span class="art-date">
                                    <time datetime="<?php $plxShow->artDate('#num_year(4)-#num_month-#num_day'); ?>">
                                        <?php $plxShow->artDate('#num_day #month #num_year(4)'); ?>
                                    </time>
                                </span>
                                <h2>
                                    <?php $plxShow->artTitle('link'); ?>
                                </h2>
                                <div>
                                    <small>
                                        <span class="written-by">
                                            <?php $plxShow->lang('WRITTEN_BY'); ?> <?php $plxShow->artAuthor() ?>
                                        </span>
                                        <span class="art-nb-com">
                                            <?php $plxShow->artNbCom(); ?>
                                        </span>
                                    </small>
                                </div>
                                <div>
                                    <small>
                                        <span class="classified-in">
                                            <?php $plxShow->lang('CLASSIFIED_IN') ?> : <?php $plxShow->artCat() ?>
                                        </span>
                                        <span class="tags">
                                            <?php $plxShow->lang('TAGS') ?> : <?php $plxShow->artTags() ?>
                                        </span>
                                    </small>
                                </div>
                            </header>
    
                            <?php $plxShow->artThumbnail('<a href="#img_url"><img class="art_thumbnail" src="#img_thumb_url" alt="#img_alt" title="#img_title" /></a>', true, true); ?>
                            <?php $plxShow->artChapo(); ?>
    
                        </article>
    
                        <?php endwhile; ?>
    
                        <nav class="pagination text-center">
                            <?php $plxShow->pagination(); ?>
                        </nav>
    
                        <?php $plxShow->artFeed('rss',$plxShow->catId(), '<span><a href="#feedUrl" title="#feedTitle">#feedName</a></span>'); ?>
    
                    </div>
    
                    <?php include __DIR__.'/sidebar.php'; ?>
    
                </div>
    
            </div>
    
        </main>
    
    <?php include __DIR__.'/footer.php'; ?>
    

    En supposant que le chapo a été rempli pour chaque article.

  • Euh, oui, j'avais mis le format$...
    Du coup, j'ai été plus bourrin encore, j'ai modifié carrément la fonction arthumbnail() dans les class.plx.show.php
    Comme ça, j'ai viré l'affichage thumbnail à la place des images directes.
    Merci de votre aide.

    public function artThumbnail($format='<a href="#img_url"><img class="art_thumbnail" src="#img_thumb_url" alt="#img_alt" title="#img_title" /></a>', $echo=true) {
    
        $filename = trim($this->plxMotor->plxRecord_arts->f('thumbnail'));
        if(!empty($filename)) {
               $img_url = $this->plxMotor->plxRecord_arts->f('url');
            $img_url2 = $this->plxMotor->urlRewrite($filename);
            $img_thumb = plxUtils::thumbName($filename);
            $result = str_replace(
                array(
                    '#img_url',
                    '#img_thumb_url',
                    '#img_title',
                    '#img_alt'
                ),
                array(
                    $img_url, # #img_url
                    /**(file_exists(PLX_ROOT.$img_thumb)) ? $this->plxMotor->urlRewrite($img_thumb) : **/ $img_url2, # #img_thumb_url
                    plxUtils::strCheck($this->plxMotor->plxRecord_arts->f('thumbnail_title')), # #img_title
                    $this->plxMotor->plxRecord_arts->f('thumbnail_alt') # #img_alt
                ),
                $format
            );
            if($echo)
                echo $result;
            else
                return $result;
        } elseif(!$echo) {
            return false;
        }   }
    
Connectez-vous ou Inscrivez-vous pour répondre.