Filtros

Subtilezas esqueléticas

Os filtros transformam o conteúdo da base de dados em código HTML apresentável.

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.

Notas

[1títulos no interior de um artigo

[2podemos chamar a isso um «pipeline»...

É de notar que certos filtros de apresentação podem ser substituídos, com vantagem, por folhas de estilo. Assim, |majuscules é equivalente ao atributo CSS «text-transform: uppercase», e |justifier a «text-align: justify».

Ler Les feuilles de style de SPIP para mais pormenores sobre os estilos CSS oferecidos pelo SPIP.

Autor guidaq Publié le : Mis à jour : 21/03/23

Traductions : عربي, català, corsu, Deutsch, English, Español, français, italiano, Nederlands, Português, русский, slovenčina, Türkçe, українська