redirection rubriques

Je rencontre des difficultés pour appréhender la redirection d'une rubrique vers une autre.
Mon arborescence est ainsi faite :

rubrique 01
- sous-rubrique
-- sous-sous rubrique 01
-- sous-sous rubrique 02

N'ayant aucun article dans "sous-rubrique" je voudrais que lorsque l'on clique dessus on arrive
directement à "sous-sous rubrique 01".

Avez-vous une idée de la chose ?

Merci d'avance
Jérôme

Selon jerome ecureuil <jerome.ecureuil@free.fr>:

Je rencontre des difficultés pour appréhender la redirection d'une
rubrique vers une autre.
Mon arborescence est ainsi faite :

rubrique 01
- sous-rubrique
-- sous-sous rubrique 01
-- sous-sous rubrique 02

N'ayant aucun article dans "sous-rubrique" je voudrais que lorsque
l'on clique dessus on arrive
directement à "sous-sous rubrique 01".

Avez-vous une idée de la chose ?

Un peu tordu : tu crées un article dans la "sous-rubrique" qui, lui, renvoie sur
la "sous-sous rubrique 01", et dans ton squelette tu fais un truc du genre : si
la rubrique sur laquelle on est la "sous-rubrique" (if #ID_RUBRIQUE == "x"),
alors charger le #TITRE de l'article (boucle articles de la rubrique "x") et non
celui de la rubrique (boucle de la rubrique "x"). Il y a peut-être plus simple,
mais je le ferais comme ça perso, en demandant comment on écrit la condition en
langage SPIP.

Le 24 nov. 08 à 11:59, franck.ducas@free.fr a écrit :

Selon jerome ecureuil <jerome.ecureuil@free.fr>:

Je rencontre des difficultés pour appréhender la redirection d'une
rubrique vers une autre.
Mon arborescence est ainsi faite :

rubrique 01
- sous-rubrique
-- sous-sous rubrique 01
-- sous-sous rubrique 02

N'ayant aucun article dans "sous-rubrique" je voudrais que lorsque
l'on clique dessus on arrive
directement à "sous-sous rubrique 01".

Avez-vous une idée de la chose ?

Un peu tordu : tu crées un article dans la "sous-rubrique" qui, lui, renvoie sur
la "sous-sous rubrique 01", et dans ton squelette tu fais un truc du genre : si
la rubrique sur laquelle on est la "sous-rubrique" (if #ID_RUBRIQUE == "x"),
alors charger le #TITRE de l'article (boucle articles de la rubrique "x") et non
celui de la rubrique (boucle de la rubrique "x"). Il y a peut-être plus simple,
mais je le ferais comme ça perso, en demandant comment on écrit la condition en
langage SPIP.

Merci pour ta proposition, le problème j'utilise déjà des squelettes spécifiques
à des rubriques alors je ne peux me permettre d'y placer une condition.

Il me faudrait alors gérer cela avec des mots-clés, un squelette attaché un mot-clé disant :
si la rubrique dans laquelle on se trouve comporte TEL MOT CLÉ alors charger TEL ARTICLE.

Ca va me faire un paquet de squelettes car j'ai un paquet de rubriques sur ce site.

hum...

Jérôme

jerome ecureuil a écrit :

Le 24 nov. 08 à 11:59, franck.ducas@free.fr a écrit :

Selon jerome ecureuil <jerome.ecureuil@free.fr>:

Je rencontre des difficultés pour appréhender la redirection d'une
rubrique vers une autre.
Mon arborescence est ainsi faite :

rubrique 01
- sous-rubrique
-- sous-sous rubrique 01
-- sous-sous rubrique 02

N'ayant aucun article dans "sous-rubrique" je voudrais que lorsque
l'on clique dessus on arrive
directement à "sous-sous rubrique 01".

Avez-vous une idée de la chose ?

Un peu tordu : tu crées un article dans la "sous-rubrique" qui, lui, renvoie sur
la "sous-sous rubrique 01", et dans ton squelette tu fais un truc du genre : si
la rubrique sur laquelle on est la "sous-rubrique" (if #ID_RUBRIQUE == "x"),
alors charger le #TITRE de l'article (boucle articles de la rubrique "x") et non
celui de la rubrique (boucle de la rubrique "x"). Il y a peut-être plus simple,
mais je le ferais comme ça perso, en demandant comment on écrit la condition en
langage SPIP.

Merci pour ta proposition, le problème j'utilise déjà des squelettes spécifiques
à des rubriques alors je ne peux me permettre d'y placer une condition.

Il me faudrait alors gérer cela avec des mots-clés, un squelette attaché un mot-clé disant :
si la rubrique dans laquelle on se trouve comporte TEL MOT CLÉ alors charger TEL ARTICLE.

Ca va me faire un paquet de squelettes car j'ai un paquet de rubriques sur ce site.

hum...

Jérôme

Voici une autre stratégie qui consiste à détourner l'idée que si une rubrique ne contient qu'un seul article, en cliquant sur le titre de cette dernière on va directement à l'article sans passer par l'étape d'affichage des articles de la rubrique.
Dans la rubrique sur laquelle tu désire faire une redirection, l'unique article est alors une redirection vers une rubrique mais il peut être sur autre chose.
Voir ci dessous - styles à rétirer et code à probablement "nettoyer" et adapter
Tonton BP

<!-- **************************************************** --> <!-- Affichage des sous-rubriques de la rubrique -->
<!-- si dans une rubrique, il n'y a qu'un seul article -->
<!-- on va directement à ce dernier en cliquant sur le titre de la rubrique --> <BOUCLE_sous_rubriques1(RUBRIQUES) {id_parent} {par num titre}>
<!-- on teste s'il existe un deuxième article dans la rubrique -->
     <BOUCLE_articles_plusdun(ARTICLES) {id_rubrique} {1,1}>
<!-- si oui on affiche le titre de la rubrique qui pointe vers la rubrique (comme normal) -->
        [(#LOGO_RUBRIQUE|left|#URL_RUBRIQUE||reduire_image{50})]
        <div class="descriptif">
        <li><img src="images/pucefleche.gif">
<!-- Utilisation de la notion de balise non ambiguë -->
        <a href="[(#URL_RUBRIQUE)]" title="[(#_sous_rubriques1:DESCRIPTIF|textebrut|entites_html)]">[(#_sous_rubriques1:TITRE|supprimer_numero)]</a>
        <br />
<!-- On est dans le contexte de l'article -->
<!-- Il faut remonter au contexte de la rubrique -->
            <ul class="liensartrub">
                <BOUCLE_rubart(RUBRIQUES) {id_rubrique}>
<!-- On affiche les liens vers les titres de ses articles -->
                            <BOUCLE_artrub(ARTICLES){id_rubrique}{par num titre}{inverse}>
                            <li><a href="#URL_ARTICLE" title="[(#DESCRIPTIF|textebrut|entites_html)]"> [(#TITRE|supprimer_numero)]</a> |</li>
                            </BOUCLE_artrub>
                </BOUCLE_rubart>
            </ul>
        </li>
        </div>
        <div class="clearleft">&nbsp;</div>
    </BOUCLE_articles_plusdun>
<!-- **************************************************** --> <!-- si non on teste s'il y a au moins un article --> <BOUCLE_articles_unseul(ARTICLES) {id_rubrique} {0,1}>
<!-- si oui on affiche le titre de la rubrique qui pointe vers l'unique article directement -->
        [(#LOGO_ARTICLE|left|#URL_ARTICLE||reduire_image{50})]
           <div class="descriptif">
              <li><img src="images/pucefleche.gif">
<!-- Utilisation de la notion de balise non ambiguë -->
               <a href="[(#URL_ARTICLE)]" title="[(#_sous_rubriques1:DESCRIPTIF|textebrut|entites_html)]">[(#_sous_rubriques1:TITRE|supprimer_numero)]</a>
                <ul class="liensartrub"> [<a href="#URL_ARTICLE">(#TITRE|supprimer_numero)</a>]
                [ <br /><a href="#URL_ARTICLE">(#INTRODUCTION|couper{200})&nbsp;</a>
                <a href="#URL_ARTICLE"><img src="images/bouton_suite.gif" border="0" align="top" alt="<:lire_la_suite:>" title="<:lire_la_suite:>"></a>]
                </ul>
              </li>
        </div>
        <div class="clearleft">&nbsp;</div> </BOUCLE_articles_unseul>
   <!-- il n'y a aucun article dans la rubrique ie il n'y a que des sous-rubrique -->
<!-- on affiche le titre de la rubrique qui pointe vers la rubrique (comme normal) -->
        [(#LOGO_RUBRIQUE|left|#URL_RUBRIQUE||reduire_image{50})]
                   <div class="descriptif">
              <li><img src="images/pucefleche.gif">
<!-- Utilisation de la notion de balise non ambiguë -->
                <a href="[(#URL_RUBRIQUE)]" title="[(#_sous_rubriques1:DESCRIPTIF|textebrut|entites_html)]">[(#_sous_rubriques1:TITRE|supprimer_numero)]</a>
<!-- Il faut remonter au contexte de la rubrique -->
            <ul class="liensartrub">
                <BOUCLE_rubart2(RUBRIQUES) {id_rubrique}>
<!-- On affiche les liens vers les titres de ses rubriques -->
                        <BOUCLE_artrub2(RUBRIQUES){id_parent}>
                        <li><a href="#URL_RUBRIQUE" title="[(#DESCRIPTIF|textebrut|entites_html)]"> [(#TITRE|supprimer_numero)]</a> |</li>
                        </BOUCLE_artrub2>
                </BOUCLE_rubart2>
            </ul>
             </li>
        </div>
        <div class="clearleft">&nbsp;</div>
    <//B_articles_unseul>
    <//B_articles_plusdun>
</BOUCLE_sous_rubriques1> <!-- ******************************************** -->

Le 24 nov. 08 à 14:23, Bernard-Paul Eminet a écrit :

jerome ecureuil a écrit :

Le 24 nov. 08 à 11:59, franck.ducas@free.fr a écrit :

Selon jerome ecureuil <jerome.ecureuil@free.fr>:

Je rencontre des difficultés pour appréhender la redirection d'une
rubrique vers une autre.
Mon arborescence est ainsi faite :

rubrique 01
- sous-rubrique
-- sous-sous rubrique 01
-- sous-sous rubrique 02

N'ayant aucun article dans "sous-rubrique" je voudrais que lorsque
l'on clique dessus on arrive
directement à "sous-sous rubrique 01".

Avez-vous une idée de la chose ?

Un peu tordu : tu crées un article dans la "sous-rubrique" qui, lui, renvoie sur
la "sous-sous rubrique 01", et dans ton squelette tu fais un truc du genre : si
la rubrique sur laquelle on est la "sous-rubrique" (if #ID_RUBRIQUE == "x"),
alors charger le #TITRE de l'article (boucle articles de la rubrique "x") et non
celui de la rubrique (boucle de la rubrique "x"). Il y a peut-être plus simple,
mais je le ferais comme ça perso, en demandant comment on écrit la condition en
langage SPIP.

Merci pour ta proposition, le problème j'utilise déjà des squelettes spécifiques
à des rubriques alors je ne peux me permettre d'y placer une condition.

Il me faudrait alors gérer cela avec des mots-clés, un squelette attaché un mot-clé disant :
si la rubrique dans laquelle on se trouve comporte TEL MOT CLÉ alors charger TEL ARTICLE.

Ca va me faire un paquet de squelettes car j'ai un paquet de rubriques sur ce site.

hum...

Jérôme

Voici une autre stratégie qui consiste à détourner l'idée que si une rubrique ne contient qu'un seul article, en cliquant sur le titre de cette dernière on va directement à l'article sans passer par l'étape d'affichage des articles de la rubrique.
Dans la rubrique sur laquelle tu désire faire une redirection, l'unique article est alors une redirection vers une rubrique mais il peut être sur autre chose.
Voir ci dessous - styles à rétirer et code à probablement "nettoyer" et adapter
Tonton BP

<!-- **************************************************** --> <!-- Affichage des sous-rubriques de la rubrique -->
<!-- si dans une rubrique, il n'y a qu'un seul article -->
<!-- on va directement à ce dernier en cliquant sur le titre de la rubrique --> <BOUCLE_sous_rubriques1(RUBRIQUES) {id_parent} {par num titre}>
<!-- on teste s'il existe un deuxième article dans la rubrique -->
   <BOUCLE_articles_plusdun(ARTICLES) {id_rubrique} {1,1}>
<!-- si oui on affiche le titre de la rubrique qui pointe vers la rubrique (comme normal) -->
      [(#LOGO_RUBRIQUE|left|#URL_RUBRIQUE||reduire_image{50})]
      <div class="descriptif">
      <li><img src="images/pucefleche.gif">
<!-- Utilisation de la notion de balise non ambiguë -->
      <a href="[(#URL_RUBRIQUE)]" title="[(#_sous_rubriques1:DESCRIPTIF|textebrut|entites_html)]">[(#_sous_rubriques1:TITRE|supprimer_numero)]</a>
      <br />
<!-- On est dans le contexte de l'article -->
<!-- Il faut remonter au contexte de la rubrique -->
          <ul class="liensartrub">
              <BOUCLE_rubart(RUBRIQUES) {id_rubrique}>
<!-- On affiche les liens vers les titres de ses articles -->
                          <BOUCLE_artrub(ARTICLES){id_rubrique}{par num titre}{inverse}>
                          <li><a href="#URL_ARTICLE" title="[(#DESCRIPTIF|textebrut|entites_html)]"> [(#TITRE|supprimer_numero)]</a> |</li>
                          </BOUCLE_artrub>
              </BOUCLE_rubart>
          </ul>
      </li>
      </div>
      <div class="clearleft">&nbsp;</div>
  </BOUCLE_articles_plusdun>
<!-- **************************************************** --> <!-- si non on teste s'il y a au moins un article --> <BOUCLE_articles_unseul(ARTICLES) {id_rubrique} {0,1}>
<!-- si oui on affiche le titre de la rubrique qui pointe vers l'unique article directement -->
      [(#LOGO_ARTICLE|left|#URL_ARTICLE||reduire_image{50})]
         <div class="descriptif">
            <li><img src="images/pucefleche.gif">
<!-- Utilisation de la notion de balise non ambiguë -->
             <a href="[(#URL_ARTICLE)]" title="[(#_sous_rubriques1:DESCRIPTIF|textebrut|entites_html)]">[(#_sous_rubriques1:TITRE|supprimer_numero)]</a>
              <ul class="liensartrub"> [<a href="#URL_ARTICLE">(#TITRE|supprimer_numero)</a>]
              [ <br /><a href="#URL_ARTICLE">(#INTRODUCTION|couper{200})&nbsp;</a>
              <a href="#URL_ARTICLE"><img src="images/bouton_suite.gif" border="0" align="top" alt="<:lire_la_suite:>" title="<:lire_la_suite:>"></a>]
              </ul>
            </li>
      </div>
      <div class="clearleft">&nbsp;</div> </BOUCLE_articles_unseul>
<!-- il n'y a aucun article dans la rubrique ie il n'y a que des sous-rubrique -->
<!-- on affiche le titre de la rubrique qui pointe vers la rubrique (comme normal) -->
      [(#LOGO_RUBRIQUE|left|#URL_RUBRIQUE||reduire_image{50})] <div class="descriptif">
            <li><img src="images/pucefleche.gif">
<!-- Utilisation de la notion de balise non ambiguë -->
              <a href="[(#URL_RUBRIQUE)]" title="[(#_sous_rubriques1:DESCRIPTIF|textebrut|entites_html)]">[(#_sous_rubriques1:TITRE|supprimer_numero)]</a>
<!-- Il faut remonter au contexte de la rubrique -->
          <ul class="liensartrub">
              <BOUCLE_rubart2(RUBRIQUES) {id_rubrique}>
<!-- On affiche les liens vers les titres de ses rubriques -->
                      <BOUCLE_artrub2(RUBRIQUES){id_parent}>
                      <li><a href="#URL_RUBRIQUE" title="[(#DESCRIPTIF|textebrut|entites_html)]"> [(#TITRE|supprimer_numero)]</a> |</li>
                      </BOUCLE_artrub2>
              </BOUCLE_rubart2>
          </ul>
           </li>
      </div>
      <div class="clearleft">&nbsp;</div>
  <//B_articles_unseul>
  <//B_articles_plusdun>
</BOUCLE_sous_rubriques1> <!-- ******************************************** -->

Merci pour cette autre proposition, je vais me faire couler un café avant de regarder le code à la loupe :wink:

Jérôme