Page 1 of 1

[résolu] Faire une condition ? (if... else...)

Posted: Fri Jul 27, 2007 1:03 pm
by lila
Bonjour tout le monde !

ptite nouvelle sur le forum qui débute sur CMSMS  ;D, j'ai une grande question pour vous les experts :

comment faire une condition dans le gabarit pour qu'un bloc ne s'affiche que si il a du contenu (et non vide) ?

Je m'explique : j'utilise le thème GrassStains, celui-ci a un petit cadre vert dans lequel s'affiche le contenu "Content2", or même quand il n'y a pas de Content2 le cadre vert s'affiche sans rien dedans.
Donc j'aimerais faire une condition comme en php du genre : if($content2 != "") { echo"on affiche"; } else { echo "on affiche pas !" ;} pour que le cadre vert ne s'affiche pas quand Content2 est vide...

Quelqu'un a une idée ???

Re: Faire une condition ? (if... else...)

Posted: Fri Jul 27, 2007 3:14 pm
by jce76350
re
comment faire une condition dans le gabarit pour qu'un bloc ne s'affiche que si il a du contenu (et non vide) ?
Il faut que tu fasses un Tag personnalisé que tu vas inclures dans ton gabarit de page

Pour cela va voir sur User Defined Tags pour voir les informations

et sur User Defined tags
pour des exemples de tags.

Voila

Re: Faire une condition ? (if... else...)

Posted: Mon Jul 30, 2007 2:46 pm
by lila
Merci pour ta réponse !

j'ai compris comment faire le Tag personnalisé, par contre je n'arrive pas à trouver comment récupérer "Content2" dans une variable. J'ai essayé des trucs au pif du genre

Code: Select all

global $gCms;
$content2 = $gCms->variables['content2'];
mais bon ...

Du coup, mon Tag ne peut pas marcher ...  :'(

Re: Faire une condition ? (if... else...)

Posted: Tue Jul 31, 2007 3:50 pm
by lila
J'ai trouvé !!  ;D

En faisant des recherches sur le forum, je suis tombée sur le post de Yonn qui m'a mis sur la voie.

Si ça peut aider quelqu'un voici donc ce que j'ai fait :

dans le gabarit je passe dans des variables le titre et le contenu du block (content2) grâce à "assign" :

{content block='content2' assign=content2}
{content block='content2title' assign=content2title}
{mon_tag contenu="$content2" titre="$content2title"}

Ensuite dans mon tag utilisateur, je récupère les variables :

$content2 = $params['contenu'];
$content2Title = $params['titre'];

puis la fameuse condtion dont j'avais besoin pour afficher mon block seulement si il y avait du contenu :

if($content2 != ""){
echo ''.$content2Title.''.$content2.'';
}

Et voilà ! 
Un grand merci à Yonn ;)