RealET | 15 Jul 23:13

12076 {branche} ne peut pas être utilisé sur une boucle (FORUMS)

Avec le squelette suivant :

<BOUCLE_Secteurs(RUBRIQUES){racine}>
<h2>[(#TITRE)]</h2>
	<BOUCLE_Forums(FORUMS){branche}>
#TITRE<br />
	</BOUCLE_Forums>
</BOUCLE_Secteurs>

je n'ai que les titres des rubriques affichés, et aucun titre de forums 
(il y a des forums dans le site).

Avec {id_secteur} à la place de {branche}, c'est bon, mais c'est parce 
que je suis dans le cas particulier où branche est équivalent à secteur 
puisque je suis à la racine.

Donc, {branche} semble cassé en l'état.
En tout cas, c'est ce que j'en comprend en lisant la doc de 
http://www.spip.net/fr_article900.html#branche puisque (FORUMS) a un 
#ID_RUBRIQUE possible (qui peut lui venir de son #ID_ARTICLE).

--

-- 
RealET

Fil | 15 Jul 23:35

Re: 12076 {branche} ne peut pas être utilisé sur une boucle (FORUMS)

Non seuls les forums associés à des rubriques ont un id_rubrique...
pas ceux qui sont liés à des articles contenus dans les rubriques en
question.

C'est d'ailleurs pénible, mais trop de risques à mettre ça en chantier
pour la 2.0

Ce que je fais pour cela : deux boucles.
La première liste les ID_ARTICLE de la {branche} et les stocke dans un
#ARRAY ; la seconde récupère tous les forums liés à un id_article dans
ce #ARRAY :

		[(#REM) Liens des forums ]
		#SET{l,#ARRAY}
		<BOUCLE_lesarticles(ARTICLES){id_secteur}>[(#SET{l,
			[(#GET{l}|push{#ID_ARTICLE})]})]</BOUCLE_lesarticles>
		<B_forums_liens>
		<div class="menu forums">
			<h2>Derniers commentaires</h2>
			<ul>
				<BOUCLE_forums_liens(FORUMS) {id_article IN #GET{l}} {plat}
				{!par date_heure} {0,12}>
				<li>[(#AUTEUR)&nbsp;: ]<a href="#URL_FORUM"[
					title="(#TITRE|couper{60}|texte_backend)" [(#TEXTE|couper{80}|typo)]</a>
				[<small>[(#DATE|affdate_court) ]@(#DATE|heures):[(#DATE|minutes)
</small>]</li>
				</BOUCLE_forums_liens>
			</ul>
		</div>
		</B_forums_liens>
(Continue reading)

Re: 12076 {branche} ne peut pas être utilisé sur une boucle (FORUMS)

plus ou moins connexe, il y a un ticket sur ce sujet :
http://trac.rezo.net/trac/spip/ticket/980

Le 15 juil. 08 à 23:35, Fil a écrit :

> Non seuls les forums associés à des rubriques ont un id_rubrique...
> pas ceux qui sont liés à des articles contenus dans les rubriques en
> question.
>
> C'est d'ailleurs pénible, mais trop de risques à mettre ça en chantier
> pour la 2.0
>
> Ce que je fais pour cela : deux boucles.
> La première liste les ID_ARTICLE de la {branche} et les stocke dans un
> #ARRAY ; la seconde récupère tous les forums liés à un id_article dans
> ce #ARRAY :
>
> 		[(#REM) Liens des forums ]
> 		#SET{l,#ARRAY}
> 		<BOUCLE_lesarticles(ARTICLES){id_secteur}>[(#SET{l,
> 			[(#GET{l}|push{#ID_ARTICLE})]})]</BOUCLE_lesarticles>
> 		<B_forums_liens>
> 		<div class="menu forums">
> 			<h2>Derniers commentaires</h2>
> 			<ul>
> 				<BOUCLE_forums_liens(FORUMS) {id_article IN #GET{l}} {plat}
> 				{!par date_heure} {0,12}>
> 				<li>[(#AUTEUR)&nbsp;: ]<a href="#URL_FORUM"[
> 					title="(#TITRE|couper{60}|texte_backend)" [(#TEXTE|couper{80}| 
> typo)]</a>
(Continue reading)

RealET | 16 Jul 09:53

Re: 12076 {branche} ne peut pas être utilisé sur une boucle (FORUMS)

* Fil tapuscrivait, le 15/07/2008 23:35:
Merci pour ta réponse.
C'est effectivement un moyen de contourner.

Mais en fait, j'ai "forgé" cet exemple pour voir si en SPIP natif, je 
pouvais avoir le même bug que 
http://permalink.gmane.org/gmane.comp.web.spip.devel/48562

Dans les 2 cas, on a :
- T1 en relation avec spip_articles
- on veut faire une requête sur id_rubrique de spip_article ou branche 
de spip_article

Et avant les jointures sur les objets des dernières modifications des 
mots clefs, ça marchait pour agenda (pas pour forums)

> Non seuls les forums associés à des rubriques ont un id_rubrique...
> pas ceux qui sont liés à des articles contenus dans les rubriques en
> question.
> 
> C'est d'ailleurs pénible, mais trop de risques à mettre ça en chantier
> pour la 2.0
> 
> Ce que je fais pour cela : deux boucles.
> La première liste les ID_ARTICLE de la {branche} et les stocke dans un
> #ARRAY ; la seconde récupère tous les forums liés à un id_article dans
> ce #ARRAY :
> 
> 		[(#REM) Liens des forums ]
> 		#SET{l,#ARRAY}
(Continue reading)

Matthieu Marcillaud | 16 Jul 19:22

Re: 12076 {branche} ne peut pas être utilisé sur une boucle (FORUMS)

Je dis peut être une bêtise Fil, mais cela n'est-il pas la même chose :

<BOUCLE_f(FORUMS){articles.id_secteur=#ID_SECTEUR}{plat}{!par 
date_heure} {0,12}>
- #ID_FORUM - #TITRE<br />
</BOUCLE_f>

Syntaxe uniquement valable en SPIP 2.0, et introduite magiquement par 
http://trac.rezo.net/trac/spip/changeset/11161

Par ailleurs, cela permet aussi :

<BOUCLE_f(FORUMS){articles.id_rubrique=#ID_RUBRIQUE}{plat}>
- #ID_FORUM - #TITRE<br />
</BOUCLE_f>

Et plein d'autres choses ;)

MM.

Fil a écrit :
> Ce que je fais pour cela : deux boucles.
> La première liste les ID_ARTICLE de la {branche} et les stocke dans un
> #ARRAY ; la seconde récupère tous les forums liés à un id_article dans
> ce #ARRAY :
> 
> 		[(#REM) Liens des forums ]
> 		#SET{l,#ARRAY}
> 		<BOUCLE_lesarticles(ARTICLES){id_secteur}>[(#SET{l,
> 			[(#GET{l}|push{#ID_ARTICLE})]})]</BOUCLE_lesarticles>
(Continue reading)

Fil | 23 Jul 08:54

Re: 12076 {branche} ne peut pas être utilisé sur une boucle (FORUMS)

Excellent !

vérification faite il fallait ajouter les deux critères de statut :
article publié *et* forum publié. Si on ne fait rien on a le critère
par défaut "forum publié", ce qui est insuffisant ; et si on ajoute
{articles.statut=publie}, le critère "forum publié" disparaît : il
faut donc le remettre explicitement.

<BOUCLE_f(FORUMS){articles.id_secteur=#ID_SECTEUR}{statut=publie}{articles.statut=publie}{plat}{!par
date_heure} {0,12}>
- #ID_FORUM - #TITRE<br />
</BOUCLE_f>

permet de fermer le ticket http://trac.rezo.net/trac/spip/ticket/980

2008/7/16 Matthieu Marcillaud <marcimat <at> free.fr>:
> Je dis peut être une bêtise Fil, mais cela n'est-il pas la même chose :
>
> <BOUCLE_f(FORUMS){articles.id_secteur=#ID_SECTEUR}{plat}{!par date_heure}
> {0,12}>
> - #ID_FORUM - #TITRE<br />
> </BOUCLE_f>
>
> Syntaxe uniquement valable en SPIP 2.0, et introduite magiquement par
> http://trac.rezo.net/trac/spip/changeset/11161
>
> Par ailleurs, cela permet aussi :
>
> <BOUCLE_f(FORUMS){articles.id_rubrique=#ID_RUBRIQUE}{plat}>
> - #ID_FORUM - #TITRE<br />
(Continue reading)


Gmane