Se as BOUCLES permitem estruturar a página de maneira lógica, resta apresentar os dados de forma estética. Em questões de design o SPIP não pode fazer nada por si, mas aprenda a aplicar os filtros...
Um dado amazenado na base de dados apresenta-se como um bloco de texto, e podemos ter vontade de manipular o seu valor antes de o colocar no ecrã. Os filtros foram feitos para isso:
- os filtros mais utilizados (são invocados automaticamente) são |typo
e |propre
; o primeiro é um corrector tipográfico, cuja principal missão é acrescentar espaços inseparáveis onde necessário (cf. a ajuda em linha do SPIP); o segundo tem a ver com os parágrafos, os atalhos do SPIP (itálico, negrito, intratítulos [1], etc.) - só é aplicado por defeito aos textos extensos (#TEXTE
, #CHAPO
, etc.)
- há outros filtros muito úteis: citemos |majuscules
(que coloca em maiúsculas a cadeia de texto), |justifier
(justificar) ou |aligner_droite
(alinhar à direita) (que definem o alinhamento do texto em relação aos limites verticais), ou ainda o esotérico |saison
(que exibe «verão» se a variável é uma data compreendida entre 21 de Junho e 20 de Setembro)...
Para utilizar um filtro há que colocar a variável entre parênteses e colchetes (parênteses rectos) (mais tarde veremos as implicações): [blá blá blá (#VARIÁVEL|filtro) bé blé]
.
Podemos encadear os filtros uns após outros [2]: assim [(#DATE|saison|majuscules)]
mostrará «INVERNO».
(Exercício sobre o conjunto das lições anteriores:) Mostrar em maiúsculas os títulos dos 10 artigos mais recentes da rubrica passada no contexto, e colocar no alto da página a estação do ano actual (isto é, a estação em que foi publicado o artigo mais recente de toda a base).
...
Porquê estes colchetes Suponhamos que a sua base contém artigos datados e outros não datados. A variável #DATE equivale a «2001-07-01 10-53-01» data no formato MySQL) no primeiro caso, e «0000-00-00 00-00-00» no segundo. Para mostrar a data com uma bela (?) moldura, vamos utilizar, no esqueleto, as seguintes linhas:
[<table border="1"><tr><td>
(#DATE|affdate)
</td></tr></table>]
Aqui, o filtro |affdate
mostra a data por extenso (no formato «1 de Julho de 2001»), mas envia uma cadeia vazia se a data for desconhecida (igual a «0000...». Os colchetes delimitam o que se deve mostrar antes e depois da data (se o resultado entre parênteses não for uma cadeia vazia).
Resultado: só os artigos datados provocam a exibição de um quadro contendo a data. Um esqueleto bem construído definirá com exactidão o que se deve (ou não) mostrar em função do conteúdo... Os filtros também servem para isso.