Les tests et les conditions sous Spip

Accueil / Nouvelles brèves / Les tests et les conditions sous Spip

Article publié le 29 janvier 2020  Mot(s) clé :   Spip 

Je note ici quelques boucles et quelques expressions que j’ai pu trouver, ou que j’ai été amené à utiliser, pour réaliser des tests et des conditions sous Spip

Ajouter un saut de ligne tous les 2 éléments

Vous affichez une liste d’éléments flottants, deux par deux, définis avec un float=left
Ces éléments n’ont pas tous la même hauteur. Pour être sûr que les éléments font bien se mettre à la ligne deux par deux, il convient d’annuler le float tous les deux éléments.

Pour cela, on peut réaliser un test sous Spip, avec le code suivant :
[(#COMPTEUR_BOUCLE|modulo{2}|=={0}|oui)<br class="clear" />]

avec la css

br.clear{clear:both;}

Afficher un code si une valeur est renseignée, ou une phrase de remplacement sinon

Cas particulier, mais qui peut être adapté selon vos besoins.

Pour les fiches de lecture de mon blog, je propose désormais, si je la trouve, une vidéo de l’auteur qui présente son livre. Pour cela, j’utilise le plugin Champs Extras, et j’ajoute à mon article le champ YOUTUBE, dans lequel je mets l’URL de la vidéo.

Si le champ YOUTUBE est renseigné, j’affiche l’iframe Youtube qui diffuse la vidéo sur mon site, si le champ YOUTUBE n’est pas renseigné, j’affiche une phrase de remplacement.

J’utilise la boucle CONDITION :

                        <BOUCLE_test(CONDITION){si #YOUTUBE|=={""}}>
                                <p>Nous n'avons pas trouvé de vidéo pour illustrer ce livre</p>
                        </BOUCLE_test>
                                <div class="container">
                                        <iframe src="#YOUTUBE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen class="video"></iframe>
                                </div>
                                <//B_test>

Condition : si la balise YOUTUBE est vide, j’affiche une phrase de remplacement, si elle n’est pas vide, j’affiche l’iframe avec, comme URL de vidéo, la valeur de mon champ YOUTUBE

Choix si balise vide

Autre possibilité : utiliser le filtre |?{sioui, sinon}.

Voir le principe sur Spipcontrib

Dans mon cas, ce filtre n’était pas utilisable. Si ma balise YOUTUBE était vide, le code retourné m’affichait bien la phrase de substitution, mais il m’affichait également le code de l’iframe sans l’URL (vide) ce qui me créait un problème d’affichage.

La boucle CONDITION m’a permis de faire exactement ce que je voulais.

Ces articles peuvent vous intéresser