SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

207 visiteurs en ce moment

fontsizeup fontsizedown
Accueil du site > Contribs > Navigation > Menus contextuels > Afficher directement l’article si la rubrique n’en a qu’un
[50 commentaires]

Afficher directement l’article si la rubrique n’en a qu’un

dimanche 14 septembre 2003, par RealET

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

Dans un menu de navigation, quand une rubrique n’a qu’un article, aller directement l’afficher plutôt que de passer par la page rubrique avec un seul article listé.

Pour SPIP 1.6 ou 1.7

Je me suis donc mis à développer un site avec des rubriques qui pour l’instant n’ont qu’un seul article (voire même pas d’article, mais seulement des liens).

J’ai donc utilisé le code suivant pour faire mes liens.

Quelques remarques pour comprendre ces boucles :

  • les rubriques principales n’ont pas d’articles, seules les sous-rubriques en ont (et il n’y a que 2 niveaux de rubriques)
  • Il y a 3 cas à gérer :
    1. Il y a au moins 2 articles : renvois sur la rubrique
    2. Il n’y a qu’un article : renvois sur l’article
    3. Il n’y a pas d’article (ça peut se produire : quand il n’y a que des liens ou que des brèves) : renvois sur la rubrique
  • Dans tous les cas, on a stocké avant de faire les sous-boucles le titre et descriptif de la rubrique concernée pour pouvoir les mettres dans le lien.

Mise à jour pour la 1.8

La version 1.8 de SPIP introduit la notion de Balises non ambiguës. Ceci permet de réécrire cette contrib sans utiliser de php (qui ne servait après tout qu’à récupérer le #TITRE et le #DESCRIPTIF de la rubrique alors qu’on était déjà dans un boucle ARTICLES).

Version universelle : illimitée et récursive

Et voici, toujours pour la version 1.8.x de SPIP ce qu’il faut écrire pour avoir une liste à puce plus ou moins indentée reprenant la structure hiérarchique des rubriques du site, quelle que soit la profondeur de cette hiérarchie.

Notez l’usage d’un appel de boucle récursif :

<BOUCLE_SsRubriques(BOUCLE_Rubriques)></BOUCLE_SsRubriques>

Cet appel permet de descendre dans la hiérarchie tant qu’il faut pour parcourir l’ensemble des sous-niveaux.

P.-S.

note admins spip-contrib : si utile pour comprendre, la même fonctionnaité expliqué (un peu) différemment sur http://www.3studio.org/blog.php?id_...

Retour en haut de la page

50 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3 | 4 | 5

  • Répondre à ce message

    6 novembre 11:18 , par On The Rock

    Je rencontre le même problème. Je n’arrive plus à EXPOSER la rubrique sélectionnée ? Quelqu’un a-t-il trouvé la solution ?

  • Répondre à ce message

    19 juillet 14:25 , par djaouell

    Apparemment je ne peux pas poster correctement le code. Je m’excuse donc pour le post inutile. Je suis donc perdu :-(

    Merci

  • Répondre à ce message

    19 juillet 14:06

    Bonjour,

    Merci, mais après des heures de souffrances,je n’y suis toujours pas arrivé et pourtant ce n’est pas la volonté qui manque :-(

    En-dessous je vous es inscrit le code du fichier menu.html et rubrique.html (en espérant que le code à modifier se trouve dans un des deux fichiers). Auriez-vous la gentillesse de me dire exactement ce qui doit être modifié ?

    Merci d’avance

    Code du fichier menu.html :


    Code du fichier rubrique.html :

    [(#INCLURE {fond=inc-head})]
    [(#INCLURE {fond=entete})] [(#INCLURE {fond=menu}{id_rubrique}{id_rubrique})] [(#REM) -----------Découvrez également... (anciennement ici)-------------- ] [(#REM) ------------------------------------- COLONE GAUCHE ----------------------------------------- ]
    [(#REM) ---------------------- Chemin ---------------------- ]
     
    [(#REM) ---------------------- Titre ---------------------- ]
    [(#LOGO_RUBRIQUE|right||image_reduire{200,200})] [

    (#TITRE|supprimer_numero)

    ] [

    (#SOUSTITRE|majuscules)

    ] [(#TEXTE)] [
    (#TEXTE)
    ]
    [(#LOGO_RUBRIQUE|right||reduire_image{200,200})] [(#TEXTE|#TITRE|supprimer_numero)] [(#TEXTE)]
    [(#REM) ---------------------- Tests ---------------------- ] [(#INCLURE{fond=rubrique-serv}{id_rubrique})]
    [(#INCLURE{fond=rubrique-serv}{id_rubrique})]
    /B_serv0> [(#INCLURE{fond=rubrique-trombino}{id_rubrique})]
    [(#INCLURE{fond=rubrique-chrono}{id_rubrique})] [(#INCLURE{fond=rubrique-plan}{id_rubrique})] /B_plan> /B_trombino> /B_serv0> /B_serv> [(#REM) ------------------------------------- COLONE DROITE ----------------------------------------- ]
    [(#REM) ---------------------- Service-Public ---------------------- ] [(#INCLURE{fond=rubrique-serv-droite}{id_rubrique})] [(#REM) ---------------------- Recherche ---------------------- ] [(#INCLURE{fond=bloc-recherche})] [(#REM) ---------------------- Sites syndiqués ---------------------- ] [(#INCLURE{fond=bloc-web}{id_rubrique})] [(#REM) ---------------------- Forum ---------------------- ] [(#INCLURE{fond=bloc-forum}{id_rubrique})]
    [(#INCLURE {fond=bas_page})] <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
    </script>
    <script type="text/javascript">
    _uacct = "UA-3025906-5";

    urchinTracker();
    </script>

  • Répondre à ce message

    19 juillet 00:43

    Ben, les boucles se trouvent... Où tu veux ! Bon, on pourrait dire que ces boucles s’adaptent particulièrement bien au fichier "rubrique.html" : au lieu d’afficher un titre / descriptif de rubrique suivi d’une liste de... 1 article, on affiche directement l’article.

    Mais ces boucles peuvent d’appliquer ailleurs, ce sont des boucles (RUBRIQUES), il y en a un peu partout dans les squelettes...

  • Répondre à ce message

    18 juillet 23:04

    Bonjour,

    Je suis débutant sur Spip. J’aimerais bien essayer de modifier les boucles nécessaires si je savais où elles sont ! Savez-vous où / dans quel fichier(voir ci-dessous)se trouvent les boucles à modifier ?

    Pour info : J’utilise le squelette Erasme (téléchargé sur spip-contrib) Il y a des dizaines de fichiers dont :
    - article.html
    - menu.html
    - menu2.html
    - plan.html
    - rubrique.plan.html
    - rubrique.html

    Merci

  • Répondre à ce message

    6 avril 12:48 , par claudeD

    Pas de problème, sauf pour utiliser #EXPOSE. Pour le moment, je ne trouve pas de solution.

  • Répondre à ce message

    9 février 23:07 , par Grand Wazoo

    Hello Marie,

    Premièrement, laisse tomber le "redirection_1_seul_article.html.

    Maintenant, tu copies le fichier inc-triurlrubrique.html dans le répertoire de ton squelette (où ya tous les fichiers propre à ton site).

    Ensuite, tu repères, toujours dans le répertoire squelette de ton site, le fichier qui affiche les rubriques. En général, c’est le fichier qui crée le menu. Tu fais une copie de sauvegarde de ce fichier et tu commences :

    Dans ce fichier, tu cherches la boucle qui affiche les rubriques. Chez moi, par ex. c’est :

    [(#REM) Toutes les rubriques du site sauf Agenda ]
     <BOUCLE_secteurs(RUBRIQUES) {racine} {titre!=Agenda}{par titre}>
            <li<BOUCLE_smenr(RUBRIQUES){id_parent}{0,1}> class="smenu"</BOUCLE_smenr>><a href="<INCLURE {fond=inc-triurlrubrique} {id_rubrique}>" > [(#TITRE|supprimer_numero)]</a>
             <B_rubriques>
                    <ul>
             <BOUCLE_rubriques(RUBRIQUES) {id_parent} {par titre}>
                    <li<BOUCLE_smen(RUBRIQUES){id_parent}{0,1}> class="smenu"</BOUCLE_smen>><a href="<INCLURE {fond=inc-triurlrubrique} {id_rubrique}>" > [(#TITRE|supprimer_numero)]</a>
                     <BOUCLE_sous_rubriques(BOUCLE_rubriques)> </BOUCLE_sous_rubriques></li><//B_sous_rubriques>
             </BOUCLE_rubriques>
                    </ul>
              </B_rubriques>
            </li>
     </BOUCLE_secteurs>

    Si tu ne trouves pas, fait une recherche sur "BOUCLE_secteurs(RUBRIQUES)" dans le répertoire de ton squelette (avec Dreamweaver, c’est un jeu d’enfant ;-)

    Ensuite, tu inclus fond=inc-triurlrubrique comme ci-dessus dans la balise "a href"

    N’oublie pas d’enregistrer puis d’envoyer ton fichier modifié et le fichier inc-triurlrubrique.html chez ton hébergeur chéri et voilà, le tour est joué.

    Mêêêême moi j’y suis arrivé alors persévère encore juste un peu et tu verras le firmament ;-)) Grand Wazoo

  • Répondre à ce message

    6 février 13:16 , par Marie

    Bonjour,

    Je suis débutante en spip et j’utilise spip 1.9.2. Je cherche en vain comment afficher directement 1 article si la rubrique ou sous-rubrique n’en a qu’un. j’ai essayé comme indiqué de remplacer dans le fichier inc-menu #TITRE par #TITRE J’ai tenté également : . Mais dans les 2 cas, ca bug et ca donne n’importe quoi sur le site.

    Est-ce que les fichiers inc-triurlrubrique.html et redirection_1_seul_article.html sont bien adaptées à cette version de SPIP ?? Si qqun a des idées, je serai très reconnaissante, car je rame complètement ! Merci beaucoup.

  • Répondre à ce message

    7 décembre 2007 12:19 , par karim belkacem

    Salut Erat :), Comme d’hab tu es le best, que dire, merci King...

  • Répondre à ce message

    5 décembre 2007 17:24 , par Christian alias le Jon

    Bonjour, Je viens de terminer mon site en local et tout est impeccable, sauf que... je voudrais un affichage direct de l’article si la rubrique n’en a qu’un. Je suis en spip 1.9.2, et je dois vous avouer que je ne m’en sors pas avec les informations laconiques données par Jacques PYRAT ("Voir squelette soyezcreateur sur la zone"). S’il se trouve un bon samaritain pour fournir quelques renseignements complémentaires, je suis preneur. En vous remerciant d’avance.

Pages 1 | 2 | 3 | 4 | 5

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0