publication aléatoire d'un article en page d'accueil

JoséJosé Member
Bonsoir

je bute sur une difficulté qui a déjà été traitée je pense.

je voudrais qu'en page d'accueil apparaisse de manière aléatoire ( ou programmée ) un article choisi parmi les articles existants.

J'essaie de modifier home.php mais je n'ai pas la solution. Merci de votre aide

José

Réponses

  • GzygGzyg Member
    Salut,

    Essaie d'adapter ça : http://pluxopolis.net/article35/recommander-des-articles


    à plus,

    Gzyg
  • JoséJosé Member
    Merci Gzyg

    je dois prendre le temps de bien regarder, mais ce que je veux faire c'est que la page Home affiche chaque jour un article différent parmi ceux existants.

    Si quelqu'un a un début de solution , je suis intéressé

    José
  • Un début de solution :
    si tu as le numéro de l'article que tu veux afficher, tu peux utiliser cette astuce : http://forum.pluxml.org/viewtopic.php?id=5826

    Pour récupérer le numéro de l'article, il y a peut-être moyen à partir de la solution proposée par Stéphane et dont Gzyg t'a donné le lien : http://pluxopolis.net/article35/recommander-des-articles
  • JoséJosé Member
    Bonjour

    mon souhait est d'avoir en page d'accueil un article choisi parmi une catégorie ou choisi par son numéro ( de 0010 à 0050 )

    Il doit s'afficher intégralement en page d'accueil ( titre , image d'accroche et contenu )

    et d'avoir un article différent chaque jour.

    je n'arrive pas à finaliser ce projet , je pense réécrire la home.php . est ce qu'il existe une fonction article.include comme cela existe pour les pages statiques?

    cette application rendrait mon site plus dynamique

    Merci pour vos conseils
    José
  • PierrePierre Member
    Mais pourtant la fonction lastArtList a bien son paramètre $sort="RANDOM". On peut y diriger la catégorie au besoin. Peut-être que le problème est plus complexe que je le vois.
  • JoséJosé Member
    J'ai bien pensé à la fonction lastarticle et son paramètre random, mais la fonction liste les articles. Ce que je souhaite c'est l'affichage, en page d'accueil et de manière automatique, d'un article complet avec son image d'accroche et son contenu.
    Pour que chaque jour apparaisse un nouvel article choisi dans une catégorie par exemple. "Aujourd'hui , découvrez..."

    José
  • L'affichage d'un article à partir de son numéro est possible, tout est indiqué dans le lien que je t'ai fourni un peu plus haut :
    http://forum.pluxml.org/viewtopic.php?id=5826

    Lis bien les posts où il y a du code sur fond noir, celui-ci et celui-là, tout y est.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    @Pierre,

    +1

    @José,

    Il y a une doc en ligne à propos de $plxShow->lastArtList() avec ce lien
    http://devzone.pluxml.org/index.php?page=plxShow-lastArtList

    Sinon rechercher "lastArtList" dans le fichier core/admin/class.plx.show.php
    Il faut bien sûr modifier la chaine de format. Voilà un début de piste :
    [== PHP ==]
    $written_by = $plxShow->lang('WRITTEN_BY');
    $classified = $plxShow->lang('CLASSIFIED_IN');
    $tags = $plxShow->lang('TAGS');
    
    $motif = <<< MOTIF
    <header>
    	<h2>#art_title</h2>
    	<small>
    		<span class="written-by">{$written_by} #art_author</span>
    		<time class="art-date">#art_date</time>
    		<span class="art-nb-com">#art_nbcoms</span>
    	</small>
    </header>
    <div>
    #art_thumbnail
    #art_chapo
    </div>
    <div>
    #art_content
    </div>
    <footer>
    	<small>
    		<span class="classified-in">{$classified} : #cat_list</span>
    		<span class="tags">{$tags} #art_tags</span>
    	</small>
    </footer>
    MOTIF;
    
    $plxShow->lastArtList($motif, 1, '', '', 'random');
    
    
  • JoséJosé Member
    Merci pour les indications, je parcours les fichiers de Pluxml dans tous les sens... et je reviens à des choses simples
    1° Pas de pages statiques en page d'accueil et pas d'article en page d'accueil
    2° dans les options d'affichage , je choisis un article par page et je choisis tri aléatoire
    3° j'adapte la home.php en particulier je supprime la ligne " <?php $plxShow->pagination(); ?> "

    j'ai presque ce que je veux !

    il me reste à remplacer la fonction random de la ligne 581 " return 'random';" dans class.plx.motor.php par une autre fonction liée au quantième du jour pour avoir un article différent chaque jour ( j'ai déjà le calcul en php mais je ne sais pas comment le traduire en fonction )

    José
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mars 2018 modifié
    Remplacer quantième du jour par quantième du mois.

    Ta méthode oblige à modifier le code de PluXml car il n'y a pas de hook pour faire cela. Ce qui rendra compliqué la prochaine mise à jour.

    L'idée proposée par Pierre est moins risquée même si le modèle pour afficher peut paraitre un peu indigeste pour ceux qui n'ont pas l'habitude de travailler avec heredoc.

    Mais ton tirage d'articles est un aléatoire un peu aidé.

    Dans le thème tu peux avoir la lste de tous les articles avec ce bout de code placé dans la home page :
    [== PHP ==]
    <pre><code>
    <?php
    $artFiles = $plxShow->plxMotor->plxGlob_arts->aFiles;
    ksort($artFiles);
    print_r($artFiles);
    ?>
    
    </code></pre>
    Dans le tableau tu as en clé l'identifiant de l'article et en valeur le nom du fichier correspondant.
    Tu trouveras dans le lien suivant la façon dont est calculé le nom du fichier :
    http://pluxopolis.net/article10/comprendre-le-nom-des-fichiers-xml-des-articles

    Plutôt qu'aléatoire, on parlera d'affichage cyclique.

    Note que si un visiteur revient plusieurs fois par jour, il verra toujours la même page. Si c'est pour fêter un Saint du calendrier c'est plutôt bien.
    Sinon il vaudrait mieux se baser sur le nombre d'heures écoulées depuis une date arbitraire modulo le nombre d'articles.
  • JoséJosé Member
    Bonjour

    plutôt que de me lancer dans modifications que je ne maîtrise pas , je reste sur ma présentation aléatoire des articles , en choisissant un seul article par page.

    si cela convient du côté visiteur , il y a un inconvénient du côté administration du site puisque là aussi les articles sont de ce fait listés de manière aléatoire.

    Peut-être dans un futur développement il y aura la possibilité de choisir séparément la présentation des articles côté visiteur et côté administrateur. :)

    Je reste bien sûr adepte de Pluxml !

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