SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 214 visiteurs en ce moment

Accueil > Documentation > Tutoriaux pour le code de SPIP > Affichage d’un article entre une date de début et de fin

Affichage d’un article entre une date de début et de fin

18 juillet 2016 – par mailou – commentaires

6 votes

En suivant le forum des utilisateurs de SPIP, il est souvent demandé « Comment afficher un article entre une date de début et une date de fin ? ». Alors voilà comment j’ai fait ça, pour un site, rien qu’avec un SPIP de base et sans utiliser de plugin.

C’est un site qui annonce des expositions : par exemple une exposition du 2/08/2015 au 09/08/2015.

La solution utilise

  1. une rubrique spécialement pour les articles qui annoncent les expositions
  2. le champ « date de rédaction antérieure », qui sert à indiquer la date de début de l’exposition
  3. une noisette inc-expositions.html avec le contenu suivant :
  1. <h2 class="menu-rubriques">Expositions</h2>
  2. <BOUCLE_agenda (ARTICLES) {tout}
  3. {par date_redac}
  4. {age_redac <= 9} {age_redac >= -30}>
  5. [(#DATE_REDAC|affdate_jourcourt) :]
  6. <a href="#URL_ARTICLE">
  7. [(#LOGO_ARTICLE_RUBRIQUE|image_reduire{40,*}) ]
  8. #TITRE
  9. </a><br />
  10. </BOUCLE_agenda>
  11. <!-- Si aucun programme n'est annoncé, alors on affiche un message d'information -->
  12. <:actuellement_pas_de_programme:>
  13. <//B_agenda>

Télécharger

On insère <INCLURE{fond=inc-expositions} /> à l’endroit ou on veut qu’apparaisse l’annonce

A la suite de quoi, il suffit d’écrire un article annonçant l’exposition et à la « Date de rédaction antérieure », mettre la date du premier jour de l’expo. L’include qui fait le reste.

{age_redac <= 9} conservera l’annonce pendant 9 jours. Cette durée peut être modifiée selon la durée de l’expo.
{age_redac >= -30}> fera apparaître l’article 30 jours avant la date de début.

On peut mettre autant d’article que l’on souhaite dans la rubrique.

Dernière modification de cette page le 19 juillet 2016

Retour en haut de la page

Vos commentaires

  • Le 4 septembre 2016 à 10:05, par stephane En réponse à : Affichage d’un article entre une date de début et de fin

    yo,

    j’aime bien l’idée, mais en réalité je cherche autre chose
    faire apparaître tous les ans un article pendant un Mois.

    en réalité , j’explique les choses du mois, donc une fois le mois passé c’est l’autre qui apparaît sachant que tous les ans c’est le même article.

    suis je clair et avez vous une idée ?

    merci

    • Le 12 septembre 2016 à 22:03, par stephane En réponse à : Affichage d’un article entre une date de début et de fin

      Merci a
      @erational de m’avoir mis sur la piste
      @Jean Christophe d’avoir corrigé le code pour avoir la bonne date et éviter
      le dédoublement d’article

      pour ceux et celle que ça intéresse

      <!-- on récupère le mois precedent-->
      #SET{mois_precedent,#DATE|agenda_moisdecal{-1}|nom_mois}
      <!-- on récupère le mois en cours-->
      #SET{mois_en_cours,#DATE|nom_mois}
      <!-- on récupère le mois suivant-->
      #SET{mois_suivant,#DATE|agenda_moisdecal{1}|nom_mois}
             
      <BOUCLE_contexte(RUBRIQUES){id_rubrique}>
      <!-- affichage du logo, du titre, du descriptif et du texte de la rubrique appelee -->
              <div id="cadre-rubrique">
                      <div class="logorub">[(#LOGO_RUBRIQUE||image_reduire{#CONFIG{escal/config/taillelogorub,150}})] </div>
                        <div id="titre-rubrique">
                     [(#CONFIG{escal/config/fluxrssrub}|=={oui}|oui)
                     <div class="fluxrss-rubrique">
                             <a href="[(#URL_PAGE{backend}|parametre_url{id_rubrique,#ID_RUBRIQUE})]">
                             <img src="#CHEMIN{images/rss.png}" alt="RSS" title="<:syndiquer_site:>" />
                             </a>
                      </div>
                      ]
                      <div class="#EDIT{titre} titre-rub">[(#TITRE)]</div>
                      <div id="descriptif-rubrique" class="#EDIT{descriptif}">
                     [(#DESCRIPTIF|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
                     </div>
                      <div id="texte-rubrique" class="#EDIT{texte}">[(#TEXTE)]</div>
                      [<div id="notes"><strong>Notes : </strong> <br />(#NOTES)</div>]                                                 
                                                </div>
         <div class="nettoyeur"></div>        
                      </div>

         <BOUCLE_art_mois_precedent(ARTICLES){id_rubrique}{titre==#GET{mois_precedent}}>
      <div class="cadre-articles-rubrique">
           <div class="titre-articles-rubrique">
             <div class="logorub">[(#LOGO_ARTICLE_RUBRIQUE||image_reduire{#CONFIG{escal/config/taillelogorub,150}})]</div>
             <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" title="[(#DESCRIPTIF|textebrut|entites_html)]">[(#TITRE)]</a>
           </div>
           <div class="introduction-articles-rubrique">
             [(#INTRODUCTION|supprimer_tags|couper{150})]
             <br/>
             <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_article:></strong></a>
             <!--<a href="#URL_ARTICLE[(#CONFIG{multi_secteurs}=={oui}|oui)|parametre_url{lang,#ENV{lang}}]" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_article:></strong></a>
             -->
             <br/>
           </div>
           <div class="nettoyeur"></div>
         </div>
         </BOUCLE_art_mois_precedent>
         
             <BOUCLE_art_mois_actuel(ARTICLES){id_rubrique}{titre==#GET{mois_en_cours}}>
      <div class="cadre-articles-rubrique">
           <div class="titre-articles-rubrique">
             <div class="logorub">[(#LOGO_ARTICLE_RUBRIQUE||image_reduire{#CONFIG{escal/config/taillelogorub,150}})]</div>
             <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" title="[(#DESCRIPTIF|textebrut|entites_html)]">[(#TITRE)]</a>
           </div>
           <div class="introduction-articles-rubrique">
             [(#INTRODUCTION|supprimer_tags|couper{150})]
             <br/>
             <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_article:></strong></a>
             <!--<a href="#URL_ARTICLE[(#CONFIG{multi_secteurs}=={oui}|oui)|parametre_url{lang,#ENV{lang}}]" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_article:></strong></a>
             -->
             <br/>
           </div>
           <div class="nettoyeur"></div>
         </div>
         </BOUCLE_art_mois_actuel>
             <BOUCLE_art_mois_suivant(ARTICLES){id_rubrique}{titre==#GET{mois_suivant}}>
      <div class="cadre-articles-rubrique">
           <div class="titre-articles-rubrique">
             <div class="logorub">[(#LOGO_ARTICLE_RUBRIQUE||image_reduire{#CONFIG{escal/config/taillelogorub,150}})]</div>
             <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" title="[(#DESCRIPTIF|textebrut|entites_html)]">[(#TITRE)]</a>
           </div>
           <div class="introduction-articles-rubrique">
             [(#INTRODUCTION|supprimer_tags|couper{150})]
             <br/>
             <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_article:></strong></a>
             <!--<a href="#URL_ARTICLE[(#CONFIG{multi_secteurs}=={oui}|oui)|parametre_url{lang,#ENV{lang}}]" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_article:></strong></a>
             -->
             <br/>
           </div>
           <div class="nettoyeur"></div>
         </div>
         </BOUCLE_art_mois_suivant>

      </BOUCLE_contexte>

    Répondre à ce message

  • Le 4 septembre 2016 à 18:25, par mailou En réponse à : Affichage d’un article entre une date de début et de fin

    Bonjour,
    Il y a un petit moment que je cherche également, j’ai par exemple sur mon site une rubrique « événement » qui liste les anniversaires à souhaiter, je suis obligé de le mettre à jour tous les et manuellement, j’utilise pour celà la Date de rédaction antérieure j’aimerais qu’elle se mette à jour toute seule tous les ans.

    Je crois que nous sommes tous deux au même point, si tu as une idée je suis preneur.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Serveur HTTP abstrait

    25 novembre 2013 – commentaires

    Un plugin-outil pour aider les développeurs à implémenter des API orientées REST, basées sur les méthodes HTTP (get, post, put, delete). Ce plugin a pour but premier de normaliser des URL que l’on pourra appeler pour manipuler les données du site. À (...)

  • Agenda Fullcalendar facile

    29 octobre 2016 – 33 commentaires

    Dans un précédent article, nous expliquions comment afficher un agenda Fullcalendar sur son site avec le plugin agenda. Cependant, ceci nécessite des manipulation de squelettes, ce qui n’est pas toujours évident lorsqu’on débute. La présente (...)

  • LinkCheck : vérificateur de liens

    13 février 2015 – 93 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 804 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • Abonnements

    31 janvier 2015 – 18 commentaires

    Gérer des abonnements à des offres, et uniquement cela. Ce plugin a pour but de regrouper tout ce qui est commun aux différents types d’abonnements possibles (à des zones restreintes, à des contenus précis, à une version papier pourquoi pas (...)

Ça spipe par là