Utiliser plusieurs fois le même code par <INCLURE>

Bonjour,

Je souhaite utiliser plusieurs fois le même code dans une page sommaire: une boucle qui trie les articles d’une rubrique N, avec N passé en paramètre. Hélas, comme c’est dans la même page, SPIP se plaint que la boucle est dupliquée (et il a raison) !

Comme faire ? Est-ce à cela que servent les fameux « modèles » ?

Merci d’avance pour vos lumières,

Jean-Luc GARNIER

Bonjour,

Est-ce que tu ne pourrais pas faire ça en tant que modèle? Dans ton appel du modèle, tu y mets ton paramètre… Je ne sais aps à quel point SPIP accepte les modèle (cf. les boucles en double…)

Le 6 août 07 à 08:16, GARNIER Jean-Luc a écrit :

Bonjour,

Je souhaite utiliser plusieurs fois le même code dans une page sommaire: une boucle qui trie les articles d’une rubrique N, avec N passé en paramètre. Hélas, comme c’est dans la même page, SPIP se plaint que la boucle est dupliquée (et il a raison) !

Comme faire ? Est-ce à cela que servent les fameux « modèles » ?

Merci d’avance pour vos lumières,

Jean-Luc GARNIER


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Le 06/08/07, GARNIER Jean-Luc a écrit :

Bonjour,

Je souhaite utiliser plusieurs fois le même code dans une page sommaire: une
boucle qui trie les articles d'une rubrique N, avec N passé en paramètre.
Hélas, comme c'est dans la même page, SPIP se plaint que la boucle est
dupliquée (et il a raison) !

Il faut juste renommer les boucles :
<BOUCLE_articles1
...
</BOUCLE_articles1>

<BOUCLE_articles2
....
</BOUCLE_articles2>

etc....

Comment passes-tu ton paramètre à ta page sommaire ?

--
@plus

Jacques

Pour les lyonnais++ spip-lyon@rezo.net http://spip-party.net/-Lyon-
Plugins zippés Téléchargement : http://spip.jermer.fr/?Liste-des-zip-produits
Remercier Spip et les plugins (Crédits) :

http://spip.jermer.fr/?Plugin-plugins-actifs-version-5

Gérer ses squelettes & thèmes en interne :

http://spip.jermer.fr/?Spip-1-92a-Plugin-Admin-themes

Quoi, il va falloir lire la doc ? :-))

Bon OK, je m’y résous…

Encore merci !

Jean-Luc GARNIER


De : Payet Teddy [mailto:teddy.payet@gmail.com]
Envoyé : lundi 6 août 2007 09:09
À : GARNIER Jean-Luc
Cc : spip@rezo.net
Objet : Re: [Spip] Utiliser plusieurs fois le même code par

Bonjour,

Est-ce que tu ne pourrais pas faire ça en tant que modèle? Dans ton appel du modèle, tu y mets ton paramètre… Je ne sais aps à quel point SPIP accepte les modèle (cf. les boucles en double…)

Le 6 août 07 à 08:16, GARNIER Jean-Luc a écrit :

Bonjour,

Je souhaite utiliser plusieurs fois le même code dans une page sommaire: une boucle qui trie les articles d’une rubrique N, avec N passé en paramètre. Hélas, comme c’est dans la même page, SPIP se plaint que la boucle est dupliquée (et il a raison) !

Comme faire ? Est-ce à cela que servent les fameux « modèles » ?

Merci d’avance pour vos lumières,

Jean-Luc GARNIER


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Jacques,

Je fais un <INCLURE{fond=toto}{id_rubrique=N}> où toto.html=
<BOUCLE_titrubrique(RUBRIQUES){racine}{id_rubrique}>
  <h2>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{50,50})][(#TITRE|supprimer_numero)]</h2>
</BOUCLE_titrubrique>

<BOUCLE_artrubrique(ARTICLES){id_rubrique} {par date}{inverse} {0,2} {doublons}>
<ul>
  <li>
    [(#LOGO_ARTICLE|#URL_ARTICLE|image_reduire{150,100})]
    [<p>(#SURTITRE)</p>]
    <h3><a href="#URL_ARTICLE">#TITRE</a></h3>
    [<p>(#SOUSTITRE)</p>]
    <small>[(#DATE|affdate_jourcourt)][, <:par_auteur:> (#LESAUTEURS)]</small>
    [<p>(#INTRODUCTION)</p>]
    <br class="nettoyeur" />
  </li>
</ul>
</BOUCLE_artrubrique>

Dans sommaire.html, j'ai deux div (deux colonnes) où je fais un <INCLURE{fond=toto}{id_rubrique=1}> et <INCLURE{fond=toto}{id_rubrique=2}> => SPIP se plaint que la boucle est dupliquée...

Evidemment, si je renomme les boucles, plus question de faire un inclure multiple...

Une idée (à part les modèles que je vais potasser aujourd'hui) ?

Jean-Luc GARNIER

-----Message d'origine-----
De : Jacques J. [mailto:confluents@gmail.com]
Envoyé : lundi 6 août 2007 10:18
À : SPIP
Objet : Re: [Spip] Utiliser plusieurs fois le même code par <INCLURE>

Le 06/08/07, GARNIER Jean-Luc a écrit :

Bonjour,

Je souhaite utiliser plusieurs fois le même code dans une page sommaire: une
boucle qui trie les articles d'une rubrique N, avec N passé en paramètre.
Hélas, comme c'est dans la même page, SPIP se plaint que la boucle est
dupliquée (et il a raison) !

Il faut juste renommer les boucles :
<BOUCLE_articles1
...
</BOUCLE_articles1>

<BOUCLE_articles2
....
</BOUCLE_articles2>

etc....

Comment passes-tu ton paramètre à ta page sommaire ?

--
@plus

Jacques

Pour les lyonnais++ spip-lyon@rezo.net http://spip-party.net/-Lyon-
Plugins zippés Téléchargement : http://spip.jermer.fr/?Liste-des-zip-produits
Remercier Spip et les plugins (Crédits) :

http://spip.jermer.fr/?Plugin-plugins-actifs-version-5

Gérer ses squelettes & thèmes en interne :

http://spip.jermer.fr/?Spip-1-92a-Plugin-Admin-themes

GARNIER Jean-Luc a écrit :

Jacques,

Je fais un <INCLURE{fond=toto}{id_rubrique=N}> où toto.html=
<BOUCLE_titrubrique(RUBRIQUES){racine}{id_rubrique}>
  <h2>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{50,50})][(#TITRE|supprimer_numero)]</h2>
</BOUCLE_titrubrique>

<BOUCLE_artrubrique(ARTICLES){id_rubrique} {par date}{inverse} {0,2} {doublons}>
<ul>
  <li>
    [(#LOGO_ARTICLE|#URL_ARTICLE|image_reduire{150,100})]
    [<p>(#SURTITRE)</p>]
    <h3><a href="#URL_ARTICLE">#TITRE</a></h3>
    [<p>(#SOUSTITRE)</p>]
    <small>[(#DATE|affdate_jourcourt)][, <:par_auteur:> (#LESAUTEURS)]</small>
    [<p>(#INTRODUCTION)</p>]
    <br class="nettoyeur" />
  </li>
</ul>
</BOUCLE_artrubrique>

Dans sommaire.html, j'ai deux div (deux colonnes) où je fais un <INCLURE{fond=toto}{id_rubrique=1}> et <INCLURE{fond=toto}{id_rubrique=2}> => SPIP se plaint que la boucle est dupliquée...

Evidemment, si je renomme les boucles, plus question de faire un inclure multiple...

Une idée (à part les modèles que je vais potasser aujourd'hui) ?

Jean-Luc GARNIER

Bonjour

C'est curieux, j'utilise justement beaucoup les INCLUDE pour ne pas
avoir à dupliquer du code, et en particulier si je n'ai besoin
plusieurs fois dans le même squelette.

Je suis sur une version SVN vieille de 2 ou 3 mois.

A bientôt
Grégoire

Si tu n’as pas besoin d’appeller ton modèle dans un article et que tu n’en as besoin que dans tes squelettes, pourquoi ne pas privilégier un #INCLURE statique?
Même si les #INCLURE statique ne sont pas beaucoup documenté… :wink:

J’ai quelques petits textes qui pourraient compléter ta doc:

Je me suis amusé en fin de semaine à faire d’autres tests pour mieux comprendre les nuances entre les INCLURE static et les INCLURE dynamique…
Je devrais publier un autre petit article pour partager ces derniers.

Iago

----- Original Message -----
From: GARNIER Jean-Luc
To: Payet Teddy
Cc: spip@rezo.net
Sent: Monday, August 06, 2007 4:23 AM
Subject: RE: [Spip] Utiliser plusieurs fois le même code par

Quoi, il va falloir lire la doc ? :-))

Bon OK, je m’y résous…

Encore merci !

Jean-Luc GARNIER


De : Payet Teddy [mailto:teddy.payet@gmail.com]
Envoyé : lundi 6 août 2007 09:09
À : GARNIER Jean-Luc
Cc : spip@rezo.net
Objet : Re: [Spip] Utiliser plusieurs fois le même code par

Bonjour,

Est-ce que tu ne pourrais pas faire ça en tant que modèle? Dans ton appel du modèle, tu y mets ton paramètre… Je ne sais aps à quel point SPIP accepte les modèle (cf. les boucles en double…)

Le 6 août 07 à 08:16, GARNIER Jean-Luc a écrit :

Bonjour,

Je souhaite utiliser plusieurs fois le même code dans une page sommaire: une boucle qui trie les articles d’une rubrique N, avec N passé en paramètre. Hélas, comme c’est dans la même page, SPIP se plaint que la boucle est dupliquée (et il a raison) !

Comme faire ? Est-ce à cela que servent les fameux « modèles » ?

Merci d’avance pour vos lumières,

Jean-Luc GARNIER


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ



liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Grégoire <gobmouch@online.fr> wrote:

<BOUCLE_titrubrique(RUBRIQUES){racine}{id_rubrique}>
<h2>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{50,50})][(#TITRE|supprime
<r_numero)]</h2> /BOUCLE_titrubrique>

les critères de cette boucle boucle peut-être ??
Ils me semblent contradictoires

Soit tu veux le logo de la rubrique racine parente de la rubrique en
cours, soit tu veux celui de la rubrique en cours mais il me semble que
{racine}{id_rubrique} n'est pas correct

de toute façon la boucle
<BOUCLE_titrubrique(RUBRIQUES){id_rubrique}>
<h2>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{50,50})][(#TITRE|suppri
mer_numero)]</h2>
</BOUCLE_titrubrique>
devrait bien te renvoyer le logo défini au niveau rubrique parente si la
rubrique elle-même n'en possède pas...
si non il faudrait voir avec id_secteur

<BOUCLE_titrubrique(RUBRIQUES){id_rubrique}>
        <BOUCLE_logo(RUBRIQUES){id_rubrique=#ID_SECTEUR}>
<h2>[(#LOGO_RUBRIQUE|#_titrubrique:URL_RUBRIQUE|image_reduire{50,50})][(
#_titrubrique:TITRE|supprimer_numero)]</h2>
        </BOUCLE_logo>
</BOUCLE_titrubrique>
(avec une référence non ambigue dans ce cas à #TITRE et #URL_RUBRIQUE).

<doc>

  #LOGO_RUBRIQUE le logo de la rubrique, éventuellement avec la gestion
du survol. S'il n'y a pas de logo pour cette rubrique, SPIP va
automatiquement chercher s'il existe un logo pour la rubrique dont elle
dépend, et ainsi de suite de manière récursive.
</doc>

Je ne pense pas que ton problème vienne d'un inclure multiple du même
fond et que passer ton code en modèle résoudra le problème. Les modèles
sont essentiellement là il me semble pour permettre l'inclusion de
comportement dynamique dans les articles (comme d'ailleurs img, doc,
emb,..)

--
http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.

Merci beaucoup Dominique pour avoir repéré cette erreur (ah, maudit copier/coller !)...

Néanmoins une question: si je réalise deux fois dans le même fichier un <INCLURE ...> de ce code, SPIP va insérer deux foix la boucle <BOUCLE_titrubrique> par exemple et va donc me signaler que cette boucle est dupliquée. Comment éviter ceci (c'est-à-dire comment changer dynamiquement le nom de la boucle "titrubrique") ?

Merci d'avance pour ton aide,

Jean-Luc GARNIER

-----Message d'origine-----
De : Dominique [mailto:dwojylac@free.fr]
Envoyé : lundi 6 août 2007 18:31
À : spip@rezo.net
Objet : Re: [Spip]Utiliser plusieurs fois le même code par <INCLURE>

Grégoire <gobmouch@online.fr> wrote:

<BOUCLE_titrubrique(RUBRIQUES){racine}{id_rubrique}>
<h2>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{50,50})][(#TITRE|supprime
<r_numero)]</h2> /BOUCLE_titrubrique>

les critères de cette boucle boucle peut-être ??
Ils me semblent contradictoires

Soit tu veux le logo de la rubrique racine parente de la rubrique en
cours, soit tu veux celui de la rubrique en cours mais il me semble que
{racine}{id_rubrique} n'est pas correct

de toute façon la boucle
<BOUCLE_titrubrique(RUBRIQUES){id_rubrique}>
<h2>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{50,50})][(#TITRE|suppri
mer_numero)]</h2>
</BOUCLE_titrubrique>
devrait bien te renvoyer le logo défini au niveau rubrique parente si la
rubrique elle-même n'en possède pas...
si non il faudrait voir avec id_secteur

<BOUCLE_titrubrique(RUBRIQUES){id_rubrique}>
        <BOUCLE_logo(RUBRIQUES){id_rubrique=#ID_SECTEUR}>
<h2>[(#LOGO_RUBRIQUE|#_titrubrique:URL_RUBRIQUE|image_reduire{50,50})][(
#_titrubrique:TITRE|supprimer_numero)]</h2>
        </BOUCLE_logo>
</BOUCLE_titrubrique>
(avec une référence non ambigue dans ce cas à #TITRE et #URL_RUBRIQUE).

<doc>

  #LOGO_RUBRIQUE le logo de la rubrique, éventuellement avec la gestion
du survol. S'il n'y a pas de logo pour cette rubrique, SPIP va
automatiquement chercher s'il existe un logo pour la rubrique dont elle
dépend, et ainsi de suite de manière récursive.
</doc>

Je ne pense pas que ton problème vienne d'un inclure multiple du même
fond et que passer ton code en modèle résoudra le problème. Les modèles
sont essentiellement là il me semble pour permettre l'inclusion de
comportement dynamique dans les articles (comme d'ailleurs img, doc,
emb,..)

--
http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.

GARNIER Jean-Luc wrote:

Merci beaucoup Dominique pour avoir repéré cette erreur (ah, maudit
copier/coller !)...

Néanmoins une question: si je réalise deux fois dans le même fichier
un <INCLURE ...> de ce code, SPIP va insérer deux foix la boucle
<BOUCLE_titrubrique> par exemple et va donc me signaler que cette
boucle est dupliquée.

Tu peux très bien répéter plusieurs fois le même INCLURE!
Lorsque tu utilises un INCLURE Spip interprètera chacun d'entre eux pour,
dans le cas du statique, écrire le résultat dans ta page en cache, dans l'autre,
écrire un petit bout de code en php.

François
www.monsitespip.com

Comment éviter ceci (c'est-à-dire comment

changer dynamiquement le nom de la boucle "titrubrique") ?

Merci d'avance pour ton aide,

Jean-Luc GARNIER

-----Message d'origine-----
De : Dominique [mailto:dwojylac@free.fr]
Envoyé : lundi 6 août 2007 18:31
À : spip@rezo.net
Objet : Re: [Spip]Utiliser plusieurs fois le même code par <INCLURE>

Grégoire <gobmouch@online.fr> wrote:

<BOUCLE_titrubrique(RUBRIQUES){racine}{id_rubrique}>
<h2>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{50,50})][(#TITRE|supprime
<r_numero)]</h2> /BOUCLE_titrubrique>

les critères de cette boucle boucle peut-être ??
Ils me semblent contradictoires

Soit tu veux le logo de la rubrique racine parente de la rubrique en
cours, soit tu veux celui de la rubrique en cours mais il me semble
que
{racine}{id_rubrique} n'est pas correct

de toute façon la boucle
<BOUCLE_titrubrique(RUBRIQUES){id_rubrique}>
<h2>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{50,50})][(#TITRE|suppri
mer_numero)]</h2>
</BOUCLE_titrubrique>
devrait bien te renvoyer le logo défini au niveau rubrique parente si
la
rubrique elle-même n'en possède pas...
si non il faudrait voir avec id_secteur

<BOUCLE_titrubrique(RUBRIQUES){id_rubrique}>
        <BOUCLE_logo(RUBRIQUES){id_rubrique=#ID_SECTEUR}>
<h2>[(#LOGO_RUBRIQUE|#_titrubrique:URL_RUBRIQUE|image_reduire{50,50})][(
#_titrubrique:TITRE|supprimer_numero)]</h2>
        </BOUCLE_logo>
</BOUCLE_titrubrique>
(avec une référence non ambigue dans ce cas à #TITRE et
#URL_RUBRIQUE).

<doc>
La boucle RUBRIQUES - SPIP
  #LOGO_RUBRIQUE le logo de la rubrique, éventuellement avec la
gestion
du survol. S'il n'y a pas de logo pour cette rubrique, SPIP va
automatiquement chercher s'il existe un logo pour la rubrique dont
elle
dépend, et ainsi de suite de manière récursive.
</doc>

Je ne pense pas que ton problème vienne d'un inclure multiple du même
fond et que passer ton code en modèle résoudra le problème. Les
modèles
sont essentiellement là il me semble pour permettre l'inclusion de
comportement dynamique dans les articles (comme d'ailleurs img, doc,
emb,..)