[Résolu] lastArtList: lien current + random

webwwwwebwww Member
juillet 2014 modifié dans Entraide
Sur mon site pluxml, je voudrais que l'article en cours (current) soit mis en gras, dans les résultats affichés par :
<?php
$plxShow->lastArtList('<a href="#art_url#watch" title="#art_title"><img style="width:2%;" src="data/images/tv.png" class="tlcmd" />#art_title</a>',99,1) ?>
1) Comment faire ?

2) Et sinon, comment afficher un article d'une catégorie précise avec un random ? (solution)

Merci d'avance.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    1)

    Dans le fichier sidebar.php, ajoute une classe à la balise <ul> (exemple class="lastartlist") qui sert à liste les derniers articles
    <ul class="lastartlist">
    	<?php $plxShow->lastArtList('<li><a class="#art_status" href="#art_url" title="#art_title">#art_title</a></li>'); ?>
    </ul>
    

    dans le fichier css de ton thème, rajoute le code suivant pour mettre en gras le contenu du 1er élement de la liste
    ul.lastartlist li:first-child {
    	font-weight: bold;
    }
    

    2)

    http://devzone.pluxml.org/index.php?page=plxShow-lastArtList

    Le 3ieme paramètre de la fonction permet de sélectionner la catégorie à afficher
    Il n'y a pas de mode random pour la fonction lastArtList

    ps: ta 2ieme question ne portait peut-etre pas sur l'utilisation de la fonction lastArtList

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Bonjour Stéphane, je ne veut pas que le premier lien soit en gras, mais le lien (l'article) en cours de lecture seulement.
    Sinon pour le random il n''existe pas déja une fonction pour afficher un article au hasard d'une catégorie précise ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    tu peux stp donner concrètement un exemple pour ce que tu veux voir en gras.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • J'ai réussi à afficher des articles avec un random.
    La solution : http://forum.pluxml.org/viewtopic.php?id=4575

    Pour le lien current, dans plx.show.php, après :
    [== PHP ==]
    				# On modifie nos motifs
    				$row = str_replace('#art_id',$num,$format);
    				$row = str_replace('#cat_list', implode(', ',$catList), $row);
    				$row = str_replace('#art_url',$this->plxMotor->urlRewrite('?article'.$num.'/'.$art['url']),$row);
    
    Je met :
    [== PHP ==]
    $vf = trim($_SERVER['REQUEST_URI'], '/');
    if(strtolower($art['title'])==$vf) {
    				$row = str_replace('#art_current','style="font-weight: bold;"',$row);
    }
    

    Pour l'affichage de lastArtList, je place un "#art_current" :
    $plxShow->lastArtList('<a #art_current href="#art_url...
    

    Résultat : le lien de l'article en cours est bien en gras, mais ça ne marche pas si il y a un tiret ou un espace dans le nom de l'article.
  • webwwwwebwww Member
    juillet 2014 modifié
    [== PHP ==]
    $vf = trim($_SERVER['REQUEST_URI'], '/');
    # format titre
    $_title_ = strtolower($art['title']);
    $_title = str_replace(' ','-',$_title_);
    $_title = str_replace('é','e',$_title);
    $_title = str_replace('è','e',$_title);
    if(strtolower($art['title'])==$vf) {
    				$row = str_replace('#art_current','style="font-weight: bold;"',$row);
    }
    

    Titres avec espace : ok
    Titres avec tirets : ok
    Titres avec accents : ok
  • StéphaneStéphane Member, Former PluXml Project Manager
    Tu te compliques bien la vie. PluXml a déjà pensé à tout :)
    <ul class="lastartlist">
    	<?php $plxShow->lastArtList('<li><a class="#art_status" href="#art_url" title="#art_title">#art_title</a></li>'); ?>
    </ul>
    
    ul.lastartlist a.active {
    	font-weight: bold;
    }
    

    la variable #art_status prend la valeur active pour la page en cours de visu.
    après si ce n'est pas la balise <a> que tu veux mettre en gras, suffit d'utiliser #art_status sur une autre balise

    exemple:
    <ul class="lastartlist">
    	<?php $plxShow->lastArtList('<li><div class="#art_status"><a href="#art_url" title="#art_title">#art_title</a></div></li>'); ?>
    </ul>
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

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