SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 285 visiteurs en ce moment

Accueil > Dates, calendriers et agendas > Tris par date > Seleccionar elementos por su día de publicación

Seleccionar elementos por su día de publicación

7 octobre 2005 – par Martin Gaitan

Toutes les versions de cet article : [français] [français]

2 votes

He aquí un nuevo criterio para seleccionar elementos de un bucle publicados un determinado día de la semana.

Esta función, colocada en el archivo mes_fonctions.php3 añade un nuevo criterio de selección utilizable en cualquier bucle que tenga contexto de fecha. El nuevo criterio joursemaine toma un parámetro numérico, entre 0 y 6 que indica el día de la semana a seleccionar (0=Domingo 6=Sábado).

Por ejemplo, para tener todos los artículos publicados un Lunes lluvioso ;), se utilizará un bucle :

  1. <BOUCLE_lunes(ARTICLES) {joursemaine 1}>
  2. #TITRE
  3. </BOUCLE_lunes>

Télécharger

El código

  1. function critere_joursemaine($idb, &$boucles, $crit) {
  2. global $table_date;
  3. $boucle = &$boucles[$idb];
  4. $date = $table_date[$boucle->type_requete];
  5. $date = $boucle->id_table . ".$date";
  6. if(!$crit->param[0]) {$jour = "'0'";}
  7. else
  8. $jour = calculer_liste($crit->param[0], array(), $boucles, $boucle->id_parent);
  9. $boucle->where[] = "DATE_FORMAT($date, '%w') ".(($crit->not)?'!=':'=')." \".(($jour != '')?$jour:'0').\"";
  10. }

Télécharger

Algunas explicaciones

  1. Es necesario encontrar el bucle antes de agregarle una limitación (where) :$boucle = &$boucles[$idb];($boucles es la tabla de todos los bucles presentes en la página y $idb el nombre del bucle actual)
  1. Es necesario encontrar también la columna correcta de fecha, en función del tipo del bucle que sea, así pues :$table_date[$boucle->type_requete];que devuelve la columna de fecha para el tipo de bucle en cuestión.
  1. A continuación, se debe decir a qué tabla se hace referencia :$date = $boucle->id_table . ".$date";
  1. Se calcula el valor del parámetro
    if(!$crit->param[0]) {
      $jour = 0;
    } else
      $jour = calculer_liste($crit->param[0], array(), $boucles, $boucle->id_parent);
    • Si no se pasa un criterio, se toma 0 (domingo) por defecto
    • Si no, se « calcula » el criterio, así se puede pasar una baliza como parámetro si se quiere.
  1. Se construye la sentencia where de sql y se tiene en cuenta el not para invertir el criterio en caso de que esté presente el criterio inverse
  1. Probablemente, si se pasa una baliza como parámetro, el valor devuelto sea vacío. No se puede saber eso antes de haber calculado esta baliza, es necesario pues hacer la prueba :(($jour != '')?$jour:'0') que se evaluará en el último momento, cuando se conozca el valor de la baliza

Un ejemplo de utilización

Se puede ver un ejemplo de utilización en esta página del bloc de notas de desordre.net que construye una semana compuesta aleatoriamente a partir de 7 bucles del tipo

(ARTICLES){0,1}{par hasard}{joursemaine X}

Dernière modification de cette page le 25 novembre 2011

Retour en haut de la page

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

  • Wordpress 2 SPIP

    26 mars 2012 – 25 commentaires

    Que fait Wordpress 2 SPIP Il importe un site Wordpress 3.3.1 dans un site SPIP 2.1.12 vierge. Les deux sites doivent être sur la même base de données et les tables Wordpress doivent commencer par wp_ (cas d’une installation Wordpress par défaut). (...)

  • Photoswipe

    18 septembre 2016 – 17 commentaires

    Une lightbox javascript responsive. PhotoSwipe est une boîte multimédia — comme la Mediabox installée en série avec SPIP — qui permet de zoomer à la taille réelle des images et qui gère intelligemment les légendes. Le plugin est basé sur la librairie (...)

  • Spip2Spip

    21 février 2008 – 157 commentaires

    Spip2spip permet de synchroniser le contenu de plusieurs sites SPIP entre eux en étendant le principe de la syndication thématique. Les articles d’un SPIP sont récopiés d’un site à l’autre en conservant leur formatage (...)

  • Tutoriel : créer une carte interactive avec GIS4

    19 octobre 2013 – 27 commentaires

    Utilisation de quelques fonctions javascript pour créer des interactions avec une carte GIS. L’objet de ce tutoriel est de produire une carte interactive. Effacer tous les points d’une carte La fonction javascript removeAllMarkers() (...)

  • Lecteur pdf javascript pdf.js

    20 février 2012 – 146 commentaires

    Ce plugin est basé sur le projet pdf.js qui permet une lecture en ligne des pdfs depuis le navigateur. Ce plugin est expérimental et les contributions sur la zone sont les bienvenues. Avantages Open source Ne requiert pas flash et (...)