Ejemplo de utilización del filtro ? de SPIP 1.8

El objetivo es clasificar una lista de sitios por numeros, quitando el número y fijando el logo de cada sitio o su título si este no existe

Algo más

Comencé a perderme en los laberintos de PHP cuando Mortimer me demostró un uso muy interesante del nuevo filtro condicional [1] "|?{afirmativo,negativo}".

Principios

El código condicional es el siguiente :

[(#LOGO_SITE||?{'',' '}) [(#NOM_SITE|supprimer_numero)] ] [(#LOGO_SITE)]
  1. la prueba condicional en #LOGO_SITE devuelve una cadena nula cuando existe, por lo tanto el código opcional que le sigue (antes del corchete de cierre) no será presentado.
  2. Luego, la baliza de logo que le sigue sólo se mostrará si existe (como sucede con cualquier otra baliza).

Código

Acá está el bucle, simple por cierto. Está pensado para que muestre el contenido en forma de lista.

<ul>
<BOUCLE_lien(SITES){id_rubrique}{par num nom_site}>

<li><a href = "#URL_SITE" class="spip_out">

<!-- aqui se usa el nuevo filtro.-->
[(#LOGO_SITE||?{'',' '})
[(#NOM_SITE|supprimer_numero)]
]
<!-- se pone el logo, si existe -->
[(#LOGO_SITE)]</a> : #DESCRIPTIF</li>
</BOUCLE_lien>
</ul>

Algo más

También deseaba poner los parámetros de la imagen, es decir, indicar su altura, su anchura y el nombre del sitio en los criterios alt y title.

Los filtros también nos ayudan aquí. Es suficiente con remplazar [(#LOGO_SITE)] por lo siguiente:

[<img src="./IMG/(#LOGO_SITE|fichier)" 
title="[(#NOM_SITE|supprimer_numero)]" 
alt="[(#NOM_SITE|supprimer_numero)]" 
width="[(#LOGO_SITE||largeur)]" 
height="[(#LOGO_SITE||hauteur)]">]

Que insertado en el bucle anterior queda así:

<ul>
<BOUCLE_lien(SITES){id_rubrique}{par num nom_site}>

<li><a href = "#URL_SITE" class="spip_out">

[(#LOGO_SITE||?{'',' '})
[(#NOM_SITE|supprimer_numero)]
]

[<img src="./IMG/(#LOGO_SITE|fichier)" title="[(#NOM_SITE|supprimer_numero)]" alt="[(#NOM_SITE|supprimer_numero)]" width="[(#LOGO_SITE||largeur)]" height="[(#LOGO_SITE||hauteur)]">]

</a> : #DESCRIPTIF</li>
</BOUCLE_lien>
</ul>

Footnotes

updated on 11 June 2005

Discussion

Aucune discussion

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom