{si ...}

O critério {si ...} permite condicionar a execução de um loop à condição expressa como argumento no critério.

  • Apparu en : SPIP 3.0

Exemplo:

<BOUCLE_mat(ARTICLES) {si #ID_RUBRIQUE|=={8}} {par date}>
  <a href="#URL_ARTICLE">#TITRE</a>
</BOUCLE_mat>

O loop será executado unicamente se no ambiente de execução do loop #ID_RUBRIQUE for igual a "8".

A parte condicional do loop, aquela inscrita entre </B_mat> e <//B_mat>, será executada nos dois casos em que:

  • #ID_RUBRIQUE não exista no ambiente ou não for igual a 8 (considerando o critério {si ...} ;
  • #ID_RUBRIQUE seja igual a 8 mas o loop não retorne nenhum resultado.

Este critério {si ...}, permite superar a impossibilidade de usar-se um loop na parte condicional de uma tag.

Por exemplo, onde era preciso escrever

  [(#SESSION{statut}|=={1comite}|oui) <INCLURE{fond=minhapagina, ...}> ... ]

porque minhapagina.html conteria um loop, torna-se possível escrever diretamente no template de chamada (portanto sem INCLURE):

  <BOUCLE_xy(AUTEURS) {si #SESSION{statut}|=={1comite}}> ...

Com certeza, o critério {si ...} pode ser aplicado a qualquer tipo de variável (#ENV, #GET,...)
Por exemplo, um loop cuja execução for condicionada pelo resultado de um cálculo envolvendo uma variável de ambiente #ENV{var} (recuperada a partir do URL) e uma variável #GET{val} (previamente definida no template):

#SET{val, 2}
<BOUCLE_a(ARTICLES) {si #ENV{var}|plus{#GET{val}}|=={5}}>
...

Ver também

O loop CONDITION

Autor Ricardo Porto Publié le :

Traductions : English, français, Nederlands, Português