Inclure conditionnel !

Bonjour a tous !

Dans un squelette, j'ai besoin d'inclure de façon conditionnel une page ou une autre...

En fait, lors de l'affichage d'une rubrique, je veux que si un seul article est dans la rubrique, qu'il m'affiche l'article complet, sinon, qu'il m'affiche un sommaire des articles...

J'essaie avec ceci :

<BOUCLE_articles_rubrique(ARTICLES){rubrique}{par date}{inverse} >&nbsp;</BOUCLE_articles_rubrique>
             [(#TOTAL_BOUCLE|>{1}|?{<INCLURE{fond=sommaire_article_rubrique}{id_rubrique}>,<INCLURE{fond=article_unique_rubrique}{id_rubrique=#ID_RUBRIQUE}>})]
           </B_articles_rubrique>

J'ai essayer plusieurs variante selon les diverses façon d'utiliser les inclure, et ça ne fonctionne pas.

D'ailleurs, si je mets mes INCLURE tout seul sans la condition, Ils fonctionnent...

Qu'est-ce que j'ai loupé ?

Ou est-ce qu'il y a une autre façon de faire ?

Au Plaisir !
--
David Fredette

david.fredette@visioninfo.qc.ca
www.visioninfo.qc.ca

"Je viens d’apprendre que les ventes d’automobiles neuves ont encore baissé de 4%. Encore un coup des pirates qui téléchargent des voitures sur Internet !"

                                 - Jean-François, courrier des lecteurs du Télérama -

Salut,

J'ai essayé aussi cette méthode, mais je l'ai abandonnée pour diverses raisons, en particulier si tu as diverses présentations d'articles. Et si ton site devient un peu complexe, ce n'est pas une bonne idée d'afficher le contenu d'un article dans une rubrique.

Le mieux, à mon humble avis, est d'intégrer directement cette possibilité (lien sur l'article unique au lieu de la rubrique) dans le menu.

Soit :
- tester si la rubrique a des sous-rubriques, auquel cas le lien pointe sur la rubrique,
- sinon tester si la rubrique a plusieurs articles (cad tester le 2e article avec le critère {1,1}), le lien pointe là aussi sur la rubrique,
- enfin si la rubrique a un seul article (cad tester le 1er article avec le critère {0,1}), le lien pointe sur l'article unique.

BMR

David Fredette a écrit :

Bonjour a tous !

Dans un squelette, j'ai besoin d'inclure de façon conditionnel une page ou une autre...

En fait, lors de l'affichage d'une rubrique, je veux que si un seul article est dans la rubrique, qu'il m'affiche l'article complet, sinon, qu'il m'affiche un sommaire des articles...

J'essaie avec ceci :

<BOUCLE_articles_rubrique(ARTICLES){rubrique}{par date}{inverse} >&nbsp;</BOUCLE_articles_rubrique>
             [(#TOTAL_BOUCLE|>{1}|?{<INCLURE {fond=sommaire_article_rubrique}{id_rubrique}>,<INCLURE {fond=article_unique_rubrique}{id_rubrique=#ID_RUBRIQUE}>})]
           </B_articles_rubrique>

J'ai essayer plusieurs variante selon les diverses façon d'utiliser les inclure, et ça ne fonctionne pas.

D'ailleurs, si je mets mes INCLURE tout seul sans la condition, Ils fonctionnent...

Qu'est-ce que j'ai loupé ?

Ou est-ce qu'il y a une autre façon de faire ?

Au Plaisir !
--
David Fredette

david.fredette@visioninfo.qc.ca
www.visioninfo.qc.ca

"Je viens d’apprendre que les ventes d’automobiles neuves ont encore baissé de 4%. Encore un coup des pirates qui téléchargent des voitures sur Internet !"

                                 - Jean-François, courrier des lecteurs du Télérama -

* David Fredette tapotait, le 24/01/2007 04:00:

Bonjour a tous !

Dans un squelette, j'ai besoin d'inclure de façon conditionnel une page ou une autre...

En fait, lors de l'affichage d'une rubrique, je veux que si un seul article est dans la rubrique, qu'il m'affiche l'article complet, sinon, qu'il m'affiche un sommaire des articles...

J'essaie avec ceci :

<BOUCLE_articles_rubrique(ARTICLES){rubrique}{par date}{inverse} >&nbsp;</BOUCLE_articles_rubrique>
             [(#TOTAL_BOUCLE|>{1}|?{<INCLURE {fond=sommaire_article_rubrique}{id_rubrique}>,<INCLURE {fond=article_unique_rubrique}{id_rubrique=#ID_RUBRIQUE}>})]
           </B_articles_rubrique>

J'ai essayer plusieurs variante selon les diverses façon d'utiliser les inclure, et ça ne fonctionne pas.

D'ailleurs, si je mets mes INCLURE tout seul sans la condition, Ils fonctionnent...

Qu'est-ce que j'ai loupé ?

Tu as loupé que <INCLURE> ne peux pas être dans un filtre
Donc [(#BALISE|filtre{<INCLURE>})] n'est pas possible
Mais [(#BALISE|filtre)<INCLURE>] est par contre possible
Tu as des exemples de cet usage sur spip contrib

Tu as aussi le squelette soyezcreateurs_net sur la zone qui utilise :
- et sensiblement ce que tu veux faire dans le squelette rubrique.html
- et ce que BMR suggère dans footer_classique.html

--
Jacques — SPIP - Pyrat.net – Création de sites Internet

Jacques PYRAT a écrit , Le 24/01/2007 11:23:

* David Fredette tapotait, le 24/01/2007 04:00:
  

Bonjour a tous !

Dans un squelette, j'ai besoin d'inclure de façon conditionnel une page ou une autre...

En fait, lors de l'affichage d'une rubrique, je veux que si un seul article est dans la rubrique, qu'il m'affiche l'article complet, sinon, qu'il m'affiche un sommaire des articles...

J'essaie avec ceci :

<BOUCLE_articles_rubrique(ARTICLES){rubrique}{par date}{inverse} >&nbsp;</BOUCLE_articles_rubrique>
             [(#TOTAL_BOUCLE|>{1}|?{<INCLURE {fond=sommaire_article_rubrique}{id_rubrique}>,<INCLURE {fond=article_unique_rubrique}{id_rubrique=#ID_RUBRIQUE}>})]
           </B_articles_rubrique>

J'ai essayer plusieurs variante selon les diverses façon d'utiliser les inclure, et ça ne fonctionne pas.

D'ailleurs, si je mets mes INCLURE tout seul sans la condition, Ils fonctionnent...

Qu'est-ce que j'ai loupé ?
    

Tu as loupé que <INCLURE> ne peux pas être dans un filtre
Donc [(#BALISE|filtre{<INCLURE>})] n'est pas possible
Mais [(#BALISE|filtre)<INCLURE>] est par contre possible
Tu as des exemples de cet usage sur spip contrib

Tu as aussi le squelette soyezcreateurs_net sur la zone qui utilise :
- et sensiblement ce que tu veux faire dans le squelette rubrique.html
- et ce que BMR suggère dans footer_classique.html

Voici un bout de squelette qui fonctionne très bien chez moi pour ton problème.

<!-- Boucle nbArticles
   S'il n'y a qu'un seul article dans la rubrique,
   on l'affiche directement,
   sinon on affiche la rubrique -->
<B_nbArticles>
  <BOUCLE_nbArticles(ARTICLES) {id_rubrique} {0,1}>

    <B_articles_plusdun>
      <BOUCLE_articles_plusdun(ARTICLES) {id_rubrique} {1,1}>
        <INCLURE(rubrique.php3){id_rubrique}>
    </BOUCLE_articles_plusdun>
      <B_articles_unseul>
        <BOUCLE_articles_unseul(ARTICLES) {id_rubrique} {0,1}>
          <INCLURE(article.php3){id_article}>
      </BOUCLE_articles_unseul>
      <//B_articles_unseul>
    <//B_articles_plusdun>

  </BOUCLE_nbArticles>
</B_nbArticles>
<INCLURE(rubrique.php3){id_rubrique}>
<//B_nbArticles>

J'ai récupéré cela sur un squelette (je ne sais plus lequel). Il doit y a voir plus simple.

A+

Roger

Le 24 janv. 07, à 10:59, BMR a écrit :
Le mieux, à mon humble avis, est d'intégrer directement cette
possibilité (lien sur l'article unique au lieu de la rubrique) dans le menu.

pour exemple la navigation actuelle de Spip-contrib est traitée ainsi, voir dans
"Interface publique - SPIP-Contrib;
les fichiers inc-rubriques et inc-triurlrubrique

c'est une adaptation de "http://www.spip-contrib.net/Afficher-directement-l-article-si&quot;

@+ NicolasR