menu de tous les articles d'une cathégorie
bonjour
je suis en train de m'arranger mon ptit site avec pluxml et j'essai de faire un menu de tous les articles de chaque cathégorie.
Ca marche très bien dans la page cathégorie mais pas dans article.
bref je voulais bidouiller a partir de cela:
http://wiki.pluxml.org/?page=Lister%20tous%20les%20articles%20par%20cat%C3%A9gorie%20dans%20une%20page%20statique
le probleme c'est que je dois recuperer l'identifiant de la cathegorie.
et c'est la que je bloque:
$cat = $plxShow->catId();
qui m'affiche l'id de la cathégorie mais ne l'enregistre pas dans la variable
donc y a t'il un moyen de recuperer l'id de la cathégorie ou quelqu'un a t'il deja fais ce menu.
merci
je suis en train de m'arranger mon ptit site avec pluxml et j'essai de faire un menu de tous les articles de chaque cathégorie.
Ca marche très bien dans la page cathégorie mais pas dans article.
bref je voulais bidouiller a partir de cela:
http://wiki.pluxml.org/?page=Lister%20tous%20les%20articles%20par%20cat%C3%A9gorie%20dans%20une%20page%20statique
le probleme c'est que je dois recuperer l'identifiant de la cathegorie.
et c'est la que je bloque:
$cat = $plxShow->catId();
qui m'affiche l'id de la cathégorie mais ne l'enregistre pas dans la variable
donc y a t'il un moyen de recuperer l'id de la cathégorie ou quelqu'un a t'il deja fais ce menu.
merci
0
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
c'est plutot crados mais si ca interressse quelqu'un:
j'ai donc rajouté une fonction a la classe plxshow
function returncatid() { # On va verifier que la categorie existe en mode categorie if($this->plxMotor->mode == 'categorie' AND isset($this->plxMotor->aCats[ $this->plxMotor->cible ])) $cat = intval($this->plxMotor->cible); # On va verifier que la categorie existe en mode article elseif($this->plxMotor->mode == 'article' AND isset($this->plxMotor->aCats[ $this->plxMotor->plxRecord_arts->f('categorie') ])) $cat = intval($this->plxMotor->plxRecord_arts->f('categorie')); else $cat = '0'; return $cat; }créé le fichier menuart.php<?php if(!defined('PLX_ROOT')) exit; global $plxShow; $cat = '00'.$plxShow->returncatid(); $plxGlob_arts = & new plxGlob(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles']); $aFiles = $plxGlob_arts->query('/[0-9]{4}.'.$cat.'.[0-9]{12}.[a-z0-9-]+.xml$/','sitemap','rsort'); # On parse les fichiers if(is_array($aFiles)) { # On a des fichiers while(list($k,$v) = each($aFiles)) { # On parcourt tous les fichiers $temp = $plxShow->plxMotor->parseArticle(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles'].$v); $plx_arts[$temp['categorie']][] = $temp; } if($plx_arts) { # On a des articles ksort($plx_arts); # On boucle sur nos articles foreach ($plx_arts as $k => $v) { usort($v, create_function('$a, $b', 'return strcmp($b["date"], $a["date"]);')); echo "<ul>"; # On boucle sur les articles de la categories while(list($null, $art) = each($v)) { $art_num = intval($art['numero']); $art_url = htmlspecialchars($art['url'],ENT_QUOTES,PLX_CHARSET); $art_title = htmlspecialchars($art['title'],ENT_QUOTES,PLX_CHARSET); echo '<li><a href="'.$plxShow->plxMotor->aConf['racine'].'?article'.$art_num.'/'.$art_url.'">'.$art_title.'</a></li>'; } echo "</ul>"; } } } ?>et il reste plus qu'a l'inclure dans cathegorie et articleCi dessous le code de la fonction catId telle qu'elle est sera dispo dans la version 4.2
function catId() { # On va verifier que la categorie existe en mode categorie if($this->plxMotor->mode == 'categorie' AND isset($this->plxMotor->aCats[ $this->plxMotor->cible ])) return intval($this->plxMotor->cible); # On va verifier que la categorie existe en mode article if($this->plxMotor->mode == 'article' AND isset($this->plxMotor->aCats[ $this->plxMotor->plxRecord_arts->f('categorie') ])) return intval($this->plxMotor->plxRecord_arts->f('categorie')); # On va vérifier si c'est la catégorie home if($this->plxMotor->mode == 'categorie' OR $this->plxMotor->mode == 'home' OR $this->plxMotor->mode == 'article') return 'home'; }dans ton code de menuart.phpla ligne posera problème si tu as plus de 10 categories
la bonne façon de faire dans ton code est : ou
si tu utilises la fonction catId() donnée au dessus
Stéphane
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
par contre tu as mis un point en trop
Merci pour la correction
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)