Liste des articles de home.php dans article.php

AlbaAlba Member
Bonjour !
Voilà, je bute sur un petit problème d'include avec la béta 5.1 :

Sur la page d'un article (donc article.php) je souhaiterais, juste avant le footer.php
retrouver tout les articles de la page d'accueil,
alors j'ai extrait ça de home.php
<?php while($plxShow->plxMotor->plxRecord_arts->loop()): # On boucle sur les articles ?>
			<?php $plxShow->artChapo(''); ?>
		<?php endwhile; # Fin de la boucle sur les articles ?>
que j'ai placé dans un fichier menu.php (même dossier que le thème évidemment)
puisque si j'avais directement inclus le home.php je me serais retrouvé avec 2 header & footer (!)
<?php include(dirname(__FILE__).'/menu.php'); # On insere le menu ?>
<?php include(dirname(__FILE__).'/footer.php'); # On insere le footer ?>
(fin de mon article.php)

Mais voilà, rien ne s'affiche !

Est-ce une faute parfaitement logique (j'ai pas touché du php depuis des années),
un petit bug ou autre ?

Merci d'avance si vous avez quelques suggestions !

Réponses

  • amowebamoweb Member
    Si j'ai bien compris, tu veux afficher tes articles les derniers articles (les mêmes que sur la page d'accueil) en entier en dessous de l'article affiché ?

    Voilà ce que je pense pour ton fichier menu :
    <?php
    	// Réinitialisation de la boucle :
    	$plxShow = new plxShow($plxMotor);
    	$plxGlob_arts = plxGlob::getInstance(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles']);
    	$plxShow->plxMotor->motif = '/^[0-9]{4}\.(home|[0-9]*|,)*\.[0-9]{3}\.[0-9]{12}\.[a-z0-9-]+\.xml$/';
    	$plxShow->plxMotor->getArticles('all');
    ?>
    <?php while($plxShow->plxMotor->plxRecord_arts->loop()): # On boucle sur les articles ?>
    			<h2><?php $plxShow->artTitle('link'); ?></h2>
    			<div class="art-chapo"><?php $plxShow->artChapo(); ?></div>
    <?php endwhile; # Fin de la boucle sur les articles ?>
    
  • Et la fonction lastArtList ?

    Quelles sont tes besoins particuliers en affichage d'informations ?

    http://devzone.pluxml.org/?plxShow/function/lastArtList
  • AlbaAlba Member
    amoweb a écrit:
    Si j'ai bien compris, tu veux afficher tes articles les derniers articles (les mêmes que sur la page d'accueil) en entier en dessous de l'article affiché ?
    C'est tout à fait ça !

    Le code marche tip-top ! Merci beaucoup !

    Je peux pas vous montrer tout de suite le résultat, mais ce site utilise la même idée (il faut descendre tout en bas de la page) : http://faceoutbooks.com/#486367/Spine-Series
  • J'ai essayé de mettre ça en place sur mon blog mais il me liste dans la page article.php TOUS mes articles.
    J'ai pensé mettre un compteur sur la boucle, ça marche mais du coup, vu que mon code apparaît également en home.php, la boucle "normale" des articles ne se fait pas...

    C'est un bug ? Je suis en 5.1

    Une petite soluce ? :p
  • HamtaroHamtaro Member
    juin 2011 modifié
    J'ai mis le code qui marche chez Bloody : http://forum.pluxml.org/viewtopic.php?id=2367

    Mais ça a le même effet, en home.php, je n'ai pas de soucis. Mais en article.php, j'ai la liste de tous mes articles rédigés sous Pluxml... Pas tip top...

    Je pensais à la faute au template, j'ai donc copié le code dans le leader.php du thème par défaut et encore une fois, la même erreur... Amaury, un avis sur le pourquoi du comment ?

    Peut être encore une histoire de caractères ? Ca me faisait pareil pour les ":" => comportement normal en home.php et après, ça partait en live dans article.php...
  • amowebamoweb Member
    Damien,
    Pour ton compteur essaies de rajouter ça dans la boucle.
    <?php while($plxShow->plxMotor->plxRecord_arts->loop() and $plxShow->plxMotor->plxRecord_arts->i < 4): # On boucle sur les articles ?>
    
    Ça ne devrait pas modifier la boucle du home normalement ? et si par hasard ça te foire ta boucle. Essaies de rajouter ça, juste avant ta boucle principale :
    <?php $plxShow->plxMotor->plxRecord_arts->i = -1 ?>
    
  • BloodyBloody Member
    Pour limiter le nombre d'article dans ma boucle dans mon footer, j'utilise $plxShow->plxMotor->getArticles('$max=4') pour le code mis en lien dont Hamtaro parle plus haut.
    Dans ce cas, je limite à 4 articles.

    Ça fonctionne parfaitement en home, mais pas en catégorie.
    Je ne sais pas si cette utilisation de "$max=" est correct, elle remplace all de $plxShow->plxMotor->getArticles('all') . :)

    Amo, ton 1er code fonctionne parfaitement sur toute les pages. ;) Il est déjà en place dans mes footer.
Connectez-vous ou Inscrivez-vous pour répondre.