Bug affichage page catégorie, $plxShow->artCat(); et boucle
Bonjour,
Je ne sais pas si c'est bug déjà signalé.
Dès que je passe la class <?php $plxShow->artCat(); ?> en dehors de la boucle d'affichage des articles,
le nombre d'article affiché est égale n-1.
Donc si la catégorie a un seul article, il y a aucun article d'affiché.
Par contre, dès que j'enlève la fonction tout est normal. Difficile de réaliser un fil d’Ariane dans ce cas !
Je vous met un lien, ici j'ai une cartouche utilisant aussi catDescription() et artCat() :
http://portfolio.chantdeleau.com/categorie2/packaging-et-logotypes
Je ne sais pas si c'est bug déjà signalé.
Dès que je passe la class <?php $plxShow->artCat(); ?> en dehors de la boucle d'affichage des articles,
le nombre d'article affiché est égale n-1.
Donc si la catégorie a un seul article, il y a aucun article d'affiché.
Par contre, dès que j'enlève la fonction tout est normal. Difficile de réaliser un fil d’Ariane dans ce cas !
Je vous met un lien, ici j'ai une cartouche utilisant aussi catDescription() et artCat() :
http://portfolio.chantdeleau.com/categorie2/packaging-et-logotypes
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je vous met le code de ma page article pour voir d'où le problème. Merci par avance.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Dommage car, je trouvais plutôt sympa de pourvoir mettre un fil d'ariane et surtout logique de mettre la description d'une catégorie avant de lister les articles qui en font partie.
Il n'y a pas un moyen de contourner ce problème ?
Dans ton CSS, tu fais un display : none sur une class définie pour tous les li (ou autre balise, cela dépend comment tu structures ton fil)
Et ensuite pour la class active, tu lui fais un display:inline-block par exemple, qui te permettra donc d'afficher uniquement la catégorie de la page affichée et ce en dehors de la boucle
Nan ?
Le fameux display none. :P Pas très catholique mais bon !
Nada. Seul le "none" fonctionne. J'ai essayé le "block" et le "inline" seul; pour le lien actif, pas mieux.
Sinon, crois tu qu'il est possible d'afficher autrement la description de la catégorie en cours, en dehors de la boucle, en utilisant, cet extrait de la class plx show ?
Et pour le "display:none/dispay:inline", il faut que tu mettes le "active" en id, il surpassera les directives données à la class normal
Sympa ça et super ! La ligne, sans modifications, était dans le code plus haut. Et la description de ma catégorie apparue en dehors de la boucle !!
Bon je commence à perdre mon latin. :mad:
J'ai testé l'id en div encadrant le nom de la catégorie, et directement dans le lien comme ceci :
<?php $plxShow->catList('','<a href="#cat_url" title="#cat_name" id="block" class="ariane">#cat_name</a>'); ?>
Il faut que je dorme. :P
D'autant plus que je viens de m'apercevoir, <?php echo $plxShow->artCatId(); ?> n'était pas utilisable en dehors de la boucle, sans perturber l'affichage de tout les articles dans la catégorie.
J'utilise cette fonction pour faire apparaître une illustration en fonction de l'id de la catégorie affichée + CSS.
Merci encore Hamtaro.
Pour remplacer <?php echo $plxShow->artCatId(); ?>, j'ai essayé Evidemment ça ne s'affiche pas.
J'ai essayé aussi ceci "$this" n'est pas reconnu et pour cause je ne l'appelle pas.
Des idées !
Franchement, existe-t-il un bouquin du genre php pour les nuls ? :P
Mais bon, je vois pas ce que tu veux faire au final ^^
Par contre, cette fonction elle aussi empêche l'affichage de la totalité des articles. Je suis toujours à n-1.
Je fais apparaître un icone différent de la catégorie affichée, via CSS :
Je te met des images de ça donne (icone à droite du screenshot) :
Vue catégorie avec n-1 articles, mais sans le code d'affichage de l'icone :
Même catégorie avec totalité des articles, mais sans affichage de l'icone :
Vue d'une seconde catégorie avec n-1 articles (ici 0), avec affichage de l'icone :
Après, au moment de la rédaction de tes articles, en plus de lui attribuer une catégorie, tu lui attribues le bon template.
Tu vois ce que je veux dire ?
Ta solution est en effet la solution à laquelle j'avais pensé, en dernier recours.
Vu que tu m'a résolu l'affichage de la catégorie, et de sa description, :P ça sera simple pour les mises à jour éventuelles des catégories. Ça devrait le faire. ^^
Par contre, je ne comprend toujours pas pourquoi <?php $plxShow->catDescription(); ?> n'a été prévu pour être utilisé en dehors de la boucle.
Une description de catégorie ne doit pas être répétée autant de fois qu'il y a d'articles .... Bizarre comme choix. :rolleyes:
D'ailleurs sous Wordpress, le code équivalent de "catDescription();", s'utilise en dehors de la loop.
Encore un grand merci Hamtaro. Sympa, pour un "petit" hamster !
Du coup, j'ai remis les class php natives de Pluxml.
Je met le code final pour ceux qui voudrait le même résultat. A adapter bien sur en fonction de chacun. Un grand merci Hamtaro pour le temps passé à résoudre mes petits problèmes. ^^
[HS]Au fait Hamtaro, je te suis sur Twitter. @chantdeleau[/HS]
C'est ici : http://portfolio.chantdeleau.com/categorie1/web
C'est corrigé !
ça marche aussi pour moi
J'espère y arriver d'ici 15jrs ! 8)
Une fois terminé, tu pourras les lister sur le wiki :
Si tu veux un coup de main, je suis partant. :P Même si je sais que tu n'as pas franchement besoin de mon aide.
Beaucoup de graphismes et j'aime prendre mon temps
J'ai vu pour le Wiki, je n'y manquerai pas !
On dirait que le titre de la catégorie vient de celle du premier article affiché.
Or, si ce dernier fait partie de plusieurs catégories,
le titre de la page catégorie contient le nom de toutes les catégories auxquelles appartient cet article.
Vous me suivez ?
Bloody tu as apparemment ce pb sur ton site ...
Au lieu d'utiliser les renseignement de cet article, peut-être faire une comparaison entre l'URL et le fichier categories.xml
une solution qui a l'air de marcher chez moi,
je ne comprends d'ailleurs pas pourquoi artCatTitle() n'est pas basé comme catDescription().
D'où ma proposition: et dans le template catégorie, utiliser <?php $plxShow->catTitle(); ?>.
Si vous pouvez me donner un retour.
Cordialement,
_____
D.San
Je n'ai pas réussi à le résoudre.
Je réussi tout de même à faire apparaître correctement l'icone (au survol de l'image) spécifique de la catégorie de chaque article au lieu d'une absence icone (je ne sais si je suis clair). Ce qui est bizarre.
Le code pour cet icone est pourtant seulement le suivant :
J'ai aussi débusqué le même style de bug :
Lorsque je place "$plxShow->artCat();" avant la boucle d'affichage des articles d'une catégorie il manque l'article le plus récent de cette catégorie.
Par contre lorsque je le place après la boucle tout est nickel ;-)
J'ai fais plusieurs essais et c'est tjrs le plus récent qui ne s'affiche pas, même avec le theme defaut.
Je pencherai vers $this->plxMotor->plxRecord_arts->f('categorie')) dans la fonction artCat puisque l'on utilise plxMotor->plxRecord_arts->loop(), mais je ne connait pas assez bien se superbe outil qu'est PluXml.
J'ai donc integré la fonction catTitle() dans class.plx.show.php de PluXml 5.1.6 et cela fonctionne bien.
Longue et belle vie a PluXml
ps : s'il a la possibilité d'utiliser artCat() avant la boucle d'affichage des articles d'une catagorie, ça m'interresse aussi.
[edit]c'est trouvé ^^[/edit]
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
après avoir afficher artCat()
lancer une boucle vide
cela remet le pointeur au début (artcat doit etre prévu pour être dans une boucle).
Un peu alambiqué, mais affiche bien tous les articles de la catégorie par la suite.
Cette instruction est à placer dans le theme Boldy et peut être ailleurs...
@ PluX
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président