{xxxx IN a,b,c,d}
limita a exibição aos resultados com o critério xxxx igual a a, b, c ou d.
Os resultados são ordenados na ordem indicada (excepto se houver uma solicitação explícita de um outro critério de ordenação). Também é possível selecionar as strings, por exemplo, com {titre IN 'China', 'Japão'}
Passar uma matriz como argumento
É possível, e é também o único meio, passar dinamicamente uma lista de valor com o critério IN.
Exemplo:
#SET{minhas_secoes, #LISTE{1,2,3}}
<BOUCLE_a(ARTICLES){id_rubrique IN #GET{minhas_secoes}}>
<h3>#TITRE</h3>
</BOUCLE_a>
Pode ser uma matriz definida pelas tags
ou uma matriz proveniente de uma tag #GET
ou #ENV**{meu_post}
.
Se #ENV{meu_post}
for uma matriz (vinda, por exemplo, de entradas de formulário em que o atributo nome termine por []
), e se os filtros de análise foram desativados pelo sufixo de asterisco duplo, então cada elemento da matriz será considerado como argumento de IN, o SPIP aplicará os filtros de segurança em cada um deles [1].
O template padrão fornecido em plugins-dist/forum/formulaires/inc-forum_previsu.html fornece um exemplo de uso com um loop MOTS com o critério {id_mot IN #ENV**{ajouter_mot}}
:
este loop seleciona apenas as palavras-chave pertencentes a um conjunto indicado dinamicamente. Aqui, este conjunto terá sido construído pelo formulário do template padrão «choix_mots», que usa o atributo name=ajouter_mot[]
.
Negação do operador IN em critério de loop
<BOUCLE_a(ARTICLES) {id_article !IN 11,12,13}>
… só exibirá as matérias cujo id não consta da lista IN (ver critério !operador valor).
Uso condicional do operador IN num critério de loop
Exemplo:
Se #ID_ARTICLE estiver presente no ambiente:
- <BOUCLE_a(ARTICLES) {id_article ?IN 11,12,13}>...
só exibirá as matérias cujo l’id consta da lista IN.
- <BOUCLE_a(ARTICLES) {id_article ?!IN 11,12,13}>...
só exibirá as matérias cujo id não consta da lista IN.
Se, ao contrário, #ID_ARTICLE não estiver presente no ambiente, estes critérios condicionais não se aplicarão e, portanto, estes dois loops exibirão todas as matérias, seja qual for o seu id.
Ver também
Critérios condicionais
Operadores lógicos
Operadores