Code PHP pour avoir tous les billets entre catégorie X et Y

kriko77kriko77 Member
décembre 2009 modifié dans Entraide
Bonjour à tous,

N'étant pas un pro du PHP, je voudrais savoir si l'un de vous a déjà développé un petit script permettant d'avoir la liste de tous les billets compris entre la catégorie X et la catégorie Y.

Je m'explique. J'ai un site (Pluxml 4.1.1) avec les catégories suivantes :
- Accueil
- Bible moteur
- Bible électricité
- Bible partie-cycle
- Bible entretien
- Remerciements
- Liens

Je voudrais pouvoir avoir une page qui regrouperait tous les articles publiés dans Bible moteur, bible électricité, bible partie cycle et bible entretien. De cette façon, les visiteurs pourraient imprimer la totalité de la "bible".

Si l'un de vous à le petit bout de code qui va bien, je suis preneur.

Merci beaucoup

Stéphane

Réponses

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

    Utilise le script suivant dispo sur le wiki à cette adresse

    modifie la ligne
    $aFiles = $plxGlob_arts->query('/[0-9]{4}.([0-9]{3}).[0-9]{12}.[a-z0-9-]+.xml$/','sitemap','rsort');
    
    de cette façon
    $aFiles = $plxGlob_arts->query('/[0-9]{4}.(001|002|003).[0-9]{12}.[a-z0-9-]+.xml$/','sitemap','rsort');
    
    ici (001|002|003) correspond au numéro de tes rubriques
    A toi de mettre tous les numéros de rubriques que tu veux voir sur ta page
    Exemple (001|003|010|011|014)


    Stéphane

    nb: je te conseille de mettre à jour ta version de pluxml en 4.2

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci Stéphane !
    J'avais bien cherché dans le Forum mais pas dans le Wiki :(
    Sorry
    Stéphane
  • Re,

    Ca fonctionne bien pour avoir un "plan du site" mais pas pour avoir le contenu des billets...
    Quelle commande pourrais-je utiliser pour afficher le contenu du billet ?

    Merci à vous

    Stéphane
  • StéphaneStéphane Member, Former PluXml Project Manager
    Tu peux adapter cette partie de code à ta convenance
    echo "<ul>";
    			# On boucle sur les articles de la categories
    			while(list($null, $art) = each($v)) {
    		
    				$art_num = intval($art['numero']);
    				$art_url = plxUtils::strCheck(($art['url']));
    				$art_title = plxUtils::strCheck(($art['title']));
    				$art_date = plxDate::dateIsoToHum($art['date'], $format_date);
    				echo '<li>'.$art_date.': <a href="'.$plxShow->plxMotor->aConf['racine'].'?article'.$art_num.'/'.$art_url.'">'.$art_title.'</a></li>'; 
    			}
    			echo "</ul>";
    
    sachant que pour afficher le chapo et le contenu tu peux utiliser
    echo plxUtils::strCheck($art['chapo']); ?>
    
    echo plxUtils::strCheck($art['content']); ?>
    
    tu peux aussi faire un test de ce genre
    Si chapo vide alors afficher le contenu
    Sinon afficher le chapo + un lien pour lire la suite
    
    Après l'utilisation des balises <ul> <li> sera peut etre maladroite au risque des créer des erreur de validation xhtml si tu affiches le chapo et/ou le contenu

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci Stéph,
    J'ai pu avoir le contenu. J'ai supprimé les <ul> et <li>. C'est propre maintenant. Reste à trier dans le bon sens (ordre croissant) mais je vais me débrouiller.
    Encore merci pour ton aide
    Stéphane
Connectez-vous ou Inscrivez-vous pour répondre.