SPIP - Contrib

SPIP - Contrib

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

89 visiteurs en ce moment

fontsizeup fontsizedown
Accueil du site > Contribs > Navigation > Menus déroulants > Archives Menus > Afficher directement l’article lorsque celui-ci est seul dans une rubrique (...)
[21 commentaires]

Afficher directement l’article lorsque celui-ci est seul dans une rubrique (mini-variante)

mercredi 26 mai 2004, par Dominique

1 vote

Il s’agit une variante de la boucle proposée par jpyrat qui est là.

Mon pb c’était de ne pas placer les boucles dans le menu (coolmenu), car celui-ci était déjà tout plein de truandages et je m’y perdais.

Alors voilà :

  1. Renommer le fichier rubrique.html en rubrique-normale.html, et lui créer son fichier siamois rubrique-normale.php3 avec $fond = "rubrique-normale" ;
  2. Faire un fichier rubrique.html qui contient ça :
<BOUCLE_principale(RUBRIQUES) {id_rubrique} >

<BOUCLE_articles_plusdun(ARTICLES) {id_rubrique} {1,1}>  <INCLURE(rubrique-normal.php3){id_rubrique}>
</BOUCLE_articles_plusdun>

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

</BOUCLE_principale>
<INCLURE(page-404.php3)>
<//B_principale>

Et c’est tout : mon menu (menu déroulant) reste le même qu’avant, ce qui m’arrange fort...

Amicalement,
Dominique

Retour en haut de la page

21 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3

  • Répondre à ce message

    2 juin 2006 17:26 , par green-turtle

    Bonjour,

    Bravo pour cette contrib. Nous avons réussi à la mettre en place sur l’un de nos sites.
    Cependant nous aimerions l’implémenter sur un site avec des rubriques et des sous rubriques, et là nous avons un problème d’affichage.

    • cela ne prend pas en compte le .css de la page appelée
    • on a créé un nouvel habillage rien que pour le nouveau squelette(rubrique-normale), mais cela fonctionne mal.

    Extrait du code, page équivalente à rubrique.html

    <BOUCLE_principale(RUBRIQUES) {id_rubrique} >
    <html dir="#LANG_DIR" lang="#LANG">

    <!-- Ceci est la feuille de style par defaut pour les types internes a SPIP -->
    <link rel="stylesheet" href="spip_style.css" type="text/css" />

    <!-- Les feuilles de style specifiques aux presents squelettes -->
    <link rel="stylesheet" href="#DOSSIER_SQUELETTE/typographie.css" type="text/css" />

    <!-- media="..." permet de ne pas utiliser ce style sous Netscape 4 (sinon plantage) -->
    <link rel="stylesheet" href="#DOSSIER_SQUELETTE/habillage.css" type="text/css" media="projection, screen, tv" />
    <!-- media="print" permet d'utiliser cette feuille de style quand vous imprimez depuis votre navigateur -->
    <link rel="stylesheet" href="#DOSSIER_SQUELETTE/impression.css" type="text/css" media="print" />

    <?php $letexte = '[(#TEXTE|texte_script)]';
           $letitre='[(#TITRE|texte_script|supprimer_numero)]';
    ?>

    <B_articles_plusdun>
    <BOUCLE_articles_plusdun(ARTICLES) {id_rubrique} {1,1}>  
    <div class="contenu" id="principal">
    <div class="cartouche">
            <h4 class="titre-texte"><? echo $letitre; ?></h4>
    </div>
    <div class="chapo">
    <? echo $letexte; ?>
    </div>
    </div>
    <INCLURE(rubrique-2-un.php3){id_rubrique}>
    </BOUCLE_articles_plusdun>
    </B_articles_plusdun>
    <B_articles_unseul>
    <BOUCLE_articles_unseul(ARTICLES) {id_rubrique} {0,1}>
    <INCLURE(article.php3){id_article}>
    </BOUCLE_articles_unseul>
    </B_articles_unseul>
    <div class="contenu" id="principal">
    <div class="cartouche">
            <h4 class="titre-texte"><? echo $letitre; ?></h4>
    </div>
    <div class="chapo">
    <? echo $letexte; ?>
    </div>
    </div>
    <INCLURE(rubrique-2-un.php3){id_rubrique}>

    <//B_articles_unseul>
    <//B_articles_plusdun>
    </html>
    </BOUCLE_principale>

    <//B_principale>

    Extrait du code, page équivalente à rubrique-normale.html

    <INCLURE(bandeau.php3)>

    <title>[(#TITRE|supprimer_numero|textebrut)]</title>





    <!--------------------------- Menu Rubrique général contextuel - Chauffage et commun et plan ------------------------------->

    <div id="navigation">
    <h1 class="structure"><:navigation:></h1>


    <!-- Menu de navigation general -->

    <a href=rubrique.php3?id_rubrique=2>
            <center>
                    <img src="./IMG/commun/logo_rubrique1.jpg" width="144" height="80" border="0" />
            </center>
    </a>

    <center>
            <font color=#ff0000>
                    &#8226 Chauffage &#8226
            </font>
    </center>

    <!-- barre fixe blanche -->
    <div class="menu">
            <ul classe="fixe">
            </ul>
    </div>

    <center><img src="./IMG/commun/carapace-ccc-center.jpg" width="144" height="20" border="0" />
    </center>

    <!-- barre fixe blanche -->
    <div class="menu">
    <ul classe="fixe">
    </ul>
    </div>


    <B_sous_rubriques1>
            <h2 class="structure"><:sous_rubriques:></h2>

            <div class="menu_deroulant">
                    <div class="menu_deroulant_left">
                            <INCLURE(menu2b.php3){id_rubrique}>
                    </div>

                    <!-- Sous-rubriques
                            <BOUCLE_sous_rubriques1(RUBRIQUES) {id_parent=2} {par titre}>
                            <li>
                                    <div class="menu-titre">
                                            <a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]
                                            </a>
                                    </div>
                                    <B_sous_sous_rubriques1>
                                            <ul class="menu-liste">
                                                    <BOUCLE_sous_sous_rubriques1(RUBRIQUES) {id_parent} {par titre}>
                                                    <li class="menu-item">
                                                            <a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]
                                                            </a>
                                                    </li>
                                                    </BOUCLE_sous_sous_rubriques1>
                                            </ul>
                                    </B_sous_sous_rubriques1>
                            </li>
                            </BOUCLE_sous_rubriques1>
                    -->
            </div>
    </B_sous_rubriques1>

    <!-- barre fixe blanche -->
    <div class="menu">
            <ul classe="fixe">
            </ul>
    </div>

    <center>
            <img src="./IMG/commun/carapace-ccc-center.jpg" width="144" height="20" border="0" />
    </center>

    <!-- barre fixe blanche -->
    <div class="menu">
            <ul classe="fixe">
            </ul>
    </div>

    <!-- Menu de navigation partie commune -->

    <B_rubriques5>
            <div class="menu">
                    <ul class="commun">
                            <BOUCLE_rubriques5(RUBRIQUES) {id_parent=75} {par titre}>
                                    <li>
                                            <div class="menu-titre">
                                                    <a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]
                                                    </a>
                                            </div>
                                    </li>
                            </BOUCLE_rubriques5>
                    </ul>
            </div>
    </B_rubriques5>

    <!-- barre fixe blanche -->
    <div class="menu">
            <ul classe="fixe">
            </ul>
    </div>

    <center>
            <img src="./IMG/commun/carapace-ccc-center.jpg" width="144" height="20" border="0" />
    </center>

    <!-- barre fixe blanche -->
    <div class="menu">
            <ul classe="fixe">
            </ul>
    </div>

    <!-- Menu de navigation titre des parties -->

    <div class="menu">
    <ul class="general">
            <li class="menu-item">
                    <a href="plan.php3">
                            <:plan_site:>
                    </a>
            </li>
    </ul>
    </div>

    <!-- barre fixe blanche -->
    <div class="menu">
            <ul classe="fixe">
            </ul>
    </div>


    <div class="menu">
    <ol class="rubriques">
    <BOUCLE_hierarchie(RUBRIQUES) {racine} {par num titre} {titre >= 01}>
    <li>
    <div class="menu"><a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]</a></div>
    </li>
    </BOUCLE_hierarchie>
    </ol>
    </div>


    <!-- Breves dans la rubrique -->

    <B_breves_rubrique>

    <div class="menu">
            <div class="breves" title="<:dernieres_breves:>">
                    <div class="menu-titre">
                            <:breves:>
                    </div>
                    <ul>
                            <BOUCLE_breves_rubrique(BREVES) {id_secteur} {par date} {inverse} {0,5}>
                                    <li class="menu-item">
                                            <i>[(#DATE|affdate_court)]</i>:
                                                    <a href="#URL_BREVE">[(#TITRE|supprimer_numero)]
                                                    </a>
                                    </li>
                            </BOUCLE_breves_rubrique>
                    </ul>
            </div>
    </div>

    </B_breves_rubrique>


    <!-- Formulaire de recherche -->

    [(#FORMULAIRE_RECHERCHE)]


    <center><img src="./IMG/commun/carapace2.jpg" width="144" height="20" border="0" /></center>

    </div>




    <!-- Une - contenu de la rubrique -->

    <div class="contenu" id="principal">
    <br >
    <br >



    <div class="cartouche">
    [(#LOGO_RUBRIQUE|left)]
    <h1 class="titre-texte">[(#TITRE|supprimer_numero)]</h1>
    </div>

            <div class="encart">

            <!-- Menu de navigation mots-cles -->

            <B_mots>
            <h2 class="structure"><:mots_clefs:></h2>

            <div class="menu">
            <ul class="divers" title="<:mots_clefs:>">
            <BOUCLE_mots(MOTS) {id_rubrique} {par titre}>
            <li>
            <div class="menu-titre"><a href="#URL_MOT" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]</a></div>
            <B_rubriques_mots>
                    <ul class="menu-liste">
            <BOUCLE_rubriques_mots(RUBRIQUES) {id_mot} {par hasard} {0,4}>
                    <li class="menu-item"><a href="#URL_RUBRIQUE" title="[(#DESCRIPTIF|textebrut|entites_html)]">[(#TITRE|supprimer_numero)]</a></li>
            </BOUCLE_rubriques_mots>
                    </ul>
            </B_rubriques_mots>
            </li>
            </BOUCLE_mots>
            </ul>
            </div>
            </B_mots>

            <!-- Sous-rubriques -->
           
            <B_sous_rubriques>
            <h2 class="structure"><:sous_rubriques:></h2>

            <div class="menu">
            <ul class="ss_rubriques" title="<:sous_rubriques:>">
            <BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par titre}>
            <li>
            <div class="menu-titre"><a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]</a></div>
            <B_sous_sous_rubriques>
                    <ul class="menu-liste">
            <BOUCLE_sous_sous_rubriques(RUBRIQUES) {id_parent} {par titre}>
                    <li class="menu-item"><a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]</a></li>
            </BOUCLE_sous_sous_rubriques>
                    </ul>
            </B_sous_sous_rubriques>
            </li>
            </BOUCLE_sous_rubriques>
            </ul>
            </div>
            </B_sous_rubriques>
           
            <!-- Sites syndiques -->
           
            <B_sites>
            <div class="menu">
            <div class="divers">
                    <div class="menu-titre">
                    <:sur_web:>
                    </div>
                    <ul>
            <BOUCLE_sites(SITES) {id_rubrique} {par nom_site}>
                    <li class="menu-item">
                    <a href="#URL_SITE">#NOM_SITE</a>
                    <B_syndic>
                    <ul class="menu-liste">
                    <BOUCLE_syndic(SYNDIC_ARTICLES) {id_syndic} {par date} {inverse} {0,3}>
                            <li class="menu-item"><small><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></small></li>
                    </BOUCLE_syndic>
                    </ul>
                    </B_syndic>
                    </li>
            </BOUCLE_sites>
                    </ul>
            </div>
            </div>
            </B_sites>
            [
    <div class="menu">
       <div class="divers">
         <div class="menu-titre"><:proposer_site:>
            <div class='reponse_formulaire'>(#FORMULAIRE_SITE)</div>
         </div>
       </div>
    </div>
    ]
            </div>

    [<div class="chapo">(#TEXTE)</div>]
    [<div class="notes">(#NOTES)</div>]

    <BOUCLE_documents_joints(DOCUMENTS) {id_rubrique} {mode=document} {doublons} {"<br />"}>
    [(#LOGO_DOCUMENT|#URL_DOCUMENT)][<br />([(#TITRE|supprimer_numero)])][ - (#DESCRIPTIF)]
    </BOUCLE_documents_joints>
    <br />

    <!-- Articles de la rubrique -->

    <h1 class="structure"><:articles_rubrique:></h1>

    <h1 class="titre-texte">[(#TITRE|supprimer_numero)]</h1>

    <div class="principal1">

    <BOUCLE_articles_recents(ARTICLES) {branche} {par titre} {1/2} {unique}>
            <h2><a href="#URL_ARTICLE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]</a></h2>
            <div class="detail">
                    [(#LOGO_ARTICLE|left)]
                    <br>
                    [(#DESCRIPTIF)]
                    <br />
                    <br>
            </div>               
            <br />
    </BOUCLE_articles_recents>

    </div>

    <div class="principal2">

    <BOUCLE_articles_recents1(ARTICLES) {branche} {par titre} {unique}>
            <h2><a href="#URL_ARTICLE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>[(#TITRE|supprimer_numero)]</a></h2>
            <div class="detail">
                    [(#LOGO_ARTICLE|left)]
                    <br>
                    [(#DESCRIPTIF)]
                    <br />
                    <br>
            </div>               
            <br />
    </BOUCLE_articles_recents1>

    </div>

    </div>


    </body>
    </html>

    lien vers la page test :
    http://www.confort-chauffage-clim.c...

    Dans cette pas on a du mal à maitriser les css et le menu de navigation de la gauche ne veut pas se déplacer.

    Merci par avance à ceux qui voudrons bien partager leurs lumieres avec nous
    GT

  • Répondre à ce message

    4 mai 2006 17:51 , par Aurélien PIERARD

    Cette boucle retourne une page blanche lorsque la rubrique comporte des sous-rubrique mais aucun article.

    J’ai contourné le problème de la manière suivante :

    <BOUCLE_Rubriques(RUBRIQUES){id_rubrique}>
           <BOUCLE_SsRubriques(RUBRIQUES){id_parent}></BOUCLE_SsRubriques>
           <?php
                   if (#TOTAL_BOUCLE>0) {
           ?>
                           <INCLURE(rubrique2.php3){id_rubrique}>
           <?php
                   }
                   else {
           ?>
                   <BOUCLE_articles_plusdun(ARTICLES){id_rubrique}{1,1}>
                           <INCLURE(rubrique2.php3){id_rubrique}>
                   </BOUCLE_articles_plusdun>
                           <BOUCLE_articles_unseul(ARTICLES){id_rubrique}{0,1}>
                                   <INCLURE(article.php3){id_article}>
                           </BOUCLE_articles_unseul>
                   <//B_articles_unseul>
                   <//B_articles_plusdun>
           <?php
                   }
           ?>
    </BOUCLE_Rubriques>
  • Répondre à ce message

    27 octobre 2005 11:00

    J’ai juste un tit pb : tout fonctionne parfaitement, mais j’ai une ligne en bas qui spécifie ça :

    Fatal error : Cannot redeclare get_extra() (previously declared in /var/www/sdb/c/a/toutladoc/inc-public.php3(20) : eval()’d code:3) in /var/www/sdb/c/a/toutladoc/inc-public.php3(20) : eval()’d code on line 3

    Je pense que c’est lié à un double appel au fichier inc-public, c’est ça ?

    Merci d’avance de vos éclaircissements.

  • Répondre à ce message

    10 septembre 2005 06:37 , par fabcool

    Bonjour,

    j’ai opté pour ce script qui me semble correspondre à mon site de thèses universitaires, seulement voilà j’ai des difficultés à adapter les boucles

    j’ai utilisé les variantes listés çi dessous mais j’obtiens soit une page blanche et pourtant en code source on peut voir la rubrique, ou alors lorsque je vais directement dans les articles (via l’url directe) j’ai tout les articles de la sous rurbiques enchaine avec la mise en page globale repetée pour chaque article (gros effet d’ascenseur sur la droite :( )

    je pense que le problème est lié à un second niveau de sous rubrique dans une sous-rubrique, je detaille :

    Rubrique : "Conférence publiés" /nous avons la liste des sous rubriques dont 1 sous rubrique = une conférence (evidement il ya plusieurs conférences)

    Sous-rubrique : "Titre de la conférence" /ici la conférence en question va etre separé par des sous rubriques (1 sous rubrique = 1 chapitre, donc plusieurs sous rubrique)

    Sous rubrique : "Titre chapitre de la conférence" /ici on a notre chapitre avec un article là par contre on a 1 seul article dans cette sous rubrique

    donc ici c’est 1 article = 1 chapite incrémenté dans une sous rubrique qui est le chapitre puis dans une sous rubriquequi est le titre de la conférence qui lui est enfin dans la rubrique principale qui est la liste des conférences.

    ma question est :est ce que c’est adapatable que l’on puisse depuis la sous-rubrique "Titre chapitre de la conférence" afficher directement l’article ?

    Merci par avance Cordialement

    Fabcool

  • Répondre à ce message

    4 septembre 2005 12:35 , par joseph

    merci pour ce script vraiment très pratique !

  • Répondre à ce message

    19 août 2005 17:15

    alors que tts les autres sont parfaitement affichées.

    En fait il me semble qu’il manque la première rubrique qui possède plusieurs articles

    qu’en pensez vous ?

    Voir en ligne : http://oze.fr

  • Répondre à ce message

    16 juin 2005 18:29

    merci pour cette astuce très pratique

    Raphaël

  • Répondre à ce message

    28 février 2005 12:56

    En fait j’avais juste oublié de changer $fond="rubrique" en $fond="rubrique_normal" dans rubrique_normal.php3

    Ca marche...

  • Répondre à ce message

    28 février 2005 12:35

    Idem ! Ca ne fonctionne que quand la rubrique ne contient qu’un article !

  • Répondre à ce message

    11 janvier 2005 12:37

    Bonjour !

    Merci et bravo pour cette contrib qui m’est très utile !

    Tout fonctionne bien, mais j’ai un problème de redirection (article virtuel) un exemple :
    - Je crée un article ne contenant que le titre et j’utilise l’option redirection en indiquant une URL de type http://www.blablabla.org
    - Lorsque je me rends sur la rubrique contenant cet article seul le titre de l’article apparaît alors que je voudrais voir directement la page http://www.blablabla.org .

    Avez vous une piste ??

    bobo

Pages 1 | 2 | 3

Répondre à cet article

Retour en haut de la page

Ça discute par ici