[Résolu] Afficher la rubrique d'un article dans la boucle articles

Bonjour,

Je continue mes questions de débutant, et voudrais perfectionner ma boucle articles faisant la liste des nouveaux articles sur ma page d’accueil.

En particulier, je voudrais que chaque article affiche sa rubrique. J’ai donc mis :

<p>Rubrique : #ID_RUBRIQUE</p>

… qui marche bien.

Mais, évidemment, #ID_RUBRIQUE me donne un numéro, ce qui n’est pas très userfriendly. Mais je sèche un peu. Comment est-ce que je fais, à partir de là, pour afficher le nom de la rubrique, avec un beau lien qu’on clique dessus ça envoie vers cette rubrique ?..

Merci.

Bonjour,

Tu as #INFO_XXX - SPIP qui va te permettre de récupérer le titre sans faire une boucle.

Et sinon, tu as La boucle RUBRIQUES - SPIP qui va te permettre de boucler sur la rubrique voulue.

bonjour

plutôt

#INFO_TITRE{rubrique, #ID_RUBRIQUE}

ou rajouter une boucle qui retrouve la rubrique de l’article et faire ressortir #TITRE

Dans la mesure du possible, on éviter #INFO_XX lorsqu’on en a pas besoin. C’est plus consommateur. Là il y a besoin de 2 informations, le titre et l’url, donc on préfère faire une boucle

<BOUCLE_rub(RUBRIQUES){id_article}>
<p>Rubrique : <a href="#URL_RUBRIQUE">#TITRE</a></p>
</BOUCLE_rub>

C’est un peu contre-intuitif que les raccourcis #INFO soient plus consommateurs qu’une boucle entière. Peut-être que la boucle est plus consommatrice en « temps de développeur web » (qui doit concevoir la boucle et son contenu) et #INFO plus consommateur en requêtes base de données ?

Oui, c’est plus consommateur en requete de base de donnée.

Qunad à la consommation en temps de dev… cela se discute selon les cas. Personnement je trouve bien plus lisible d’avoir #TITRE que #INFO_TITRE, donc a mon sens c’est plus consommateur en temps de dev #INFO_XX

Je crois bien que ça n’est plus le cas depuis un moment :wink:

Cette fonctionnalité est optimisée pour ne pas faire plusieurs requêtes SQL sur la même table. Vous pouvez donc utiliser plusieurs fois la balise sur le même objet sans inquiétude.

1 « J'aime »

ah bah je suis vieux. Oublions ce que j’ai dit.

Il n’empeche qu’une boucle unique me semble plus lisible que plein d’info_XX

maieul : « Oui, c’est plus consommateur en requete de base de donnée. »
b_b : « Je crois bien que ça n’est plus le cas depuis un moment :wink: »

Dans mon idée, une balise #INFO_TRUC c’est une requête, donc tout pareil qu’une <BOUCLE_tric(TABLE)> même si la boucle utilise-alimente plein de champs, mais 2 fois moins que les 2 requêtes requises par 2 balises #INFO_TROC qui se suivent. Ce qui est conforme à ce qu’avait dit Maieul.

Serait ce @b_b qu’une optimisation est miraculeusement apparue dans le code du compilateur pour repérer les multiples #INFO_TRAC au sein d’un même contexte et les rassembler dans une même requête, puis en dispatcher les éléments là où il y en a besoin dans le squelette ???
Si c’est le cas, chapeau ! On peut être fier des devs SPIP…

@jluc disons que c’est à moitié optimisé. C ne fait qu’une requete SQL, mais ca requete tous les champs, et ca cache en mémoire le résultat.

Voir Sourcegraph

Ça y est, j’y suis parvenu, merci à tous !.. Vous pouvez le voir à La Remuante - Remuante dansante causante jouante

J’ai utilisé
<p><a href="#URL_RUBRIQUE{#ID_RUBRIQUE}">#INFO_TITRE{rubrique, #ID_RUBRIQUE}</a></p>
ne sachant que penser de ces requêtes.

Au début, j’avais essayé #INFO_URL_RUBRIQUE mais ça ne fonctionnait pas, puis j’ai trouvé quelque part l’expression #URL_RUBRIQUE et ça s’est mis à marcher, si vous savez pourquoi ?

À la prochaine en tous cas et merci encore !

en fait ici il n’y a pas d’ambiguïté pour #URL_RUBRIQUE et #URL_ARTICLE
alors que #TITRE concerne la dernière boucle donc ARTICLE chez toi, d’où le besoin de #INFO_TITRE… pour sortir le titre de la rubrique

C’est le principal. En effet c’est mis en cache dans une static. Bravo SPIP !