Forum CMS Made Simple FR
[résolu] Code smarty qui ne veut pas fonctionner - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Général (https://forum.cmsmadesimple.fr/forum-10.html)
+--- Sujet : [résolu] Code smarty qui ne veut pas fonctionner (/thread-3723.html)



[résolu] Code smarty qui ne veut pas fonctionner - Ouik - 19/01/2016

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 2.1.1
#~ Url du site : local
#~ Hébergeur / Soft : MAMP
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Je veux mettre en place un affichage conditionnel d'un bloc si ce bloc est non vide. Suivant les recommandations de la doc officielle, j'insère donc ce code :
Code :
[== Indéfini ==]
{content block='linkblock' label='Bloc avec lien' tab='Plus' assign='linkblock'}
{if isset($linkblock)}
   <div class="link-block">
       {$linkblock}
   </div>
{/if}

Mais voilà, même si le contenu du bloc est vide, le bloc s'affiche systématiquement. J'ai testé d'autres variantes, mais rien ne semble fonctionner. Est-ce que j'ai loupé un truc ?


[résolu] Code smarty qui ne veut pas fonctionner - Jean le Chauve - 19/01/2016

Essaye {if isset($linkblock) && !empty($linkblock)}


[résolu] Code smarty qui ne veut pas fonctionner - Ouik - 19/01/2016

Ah ouais, merci JLC !

Bizarre tout de même que les différents essais que j'ai fait avec plusieurs solutions n'aient pas fonctionné alors même que j'en utilise avec succès sur d'autres sites en 1.12.1.


[résolu] Code smarty qui ne veut pas fonctionner - airelibre - 19/01/2016

Petite alternative :

Code :
{if isset($linkblock) and $linkblock neq ''}

Il arrive régulièrement qu'une variable soit "set" mais vide, et
Code :
isset
ne suffit alors pas Wink


[résolu] Code smarty qui ne veut pas fonctionner - Ouik - 19/01/2016

Merci Mathieu !

Yep, j'avais tenté d'autres choses avec notamment ne '' ou != '' mais sans doute qu'il manquait aussi quelque chose d'autre. Bref.