O critério {id_?}
permite fazer todas as junções possíveis com as variáveis de ambiente. Ele comporta-se como tantos critérios {id_xxx ?}
quanto possível para o loop em causa.
Por exemplo, o loop <BOUCLE_lista(ARTICLES){id_?}>...
será percebido como<BOUCLE_lista(ARTICLES){id_article?}{id_rubrique?}{id_secteur?}{id_trad?}{id_mot?}{id_document?}>...
, variando de acordo com as ligações possíveis e, portanto, de acordo com os plugins ativos. A notação é claramente mais concisa.
Para um loop sobre uma base de dados, as ligações criadas levam em conta:
- a tabela de ligação, se existir (por exemplo spip_mots_liens
para spip_mots
)
- os campos objets,id_objet
, no caso contrário (por exemplo para spip_forum
).
Chaves objet,id_objet
Numa tabela contendo os campos objet
e id_objet
(como spip_forum
), simultaneamente, o critério {objet?}
e o critério {id_objet?}
serão aplicados.
Instalação e desinstalação de plugins
O critério {id_?}
permite escrever loops idênticos sejam quais forem os plugins ativos. Com efeito, certos plugins criam tabelas e premitem junções condicionais suplementares nessas tabelas, mas se se integra essas junções num loop usando o identificador dessa tabela {id_latable?}
, a desinstalação desse plugin provocará um erro de compilação. Com o critério {id_?}
, as junções fazem-se automaticamente e sem erro, estejam os plugins instalados ou não.
Ver também
- critério ?
- A sintaxe dos loops <BOUCLE_cond(UNETABLE?)>