Afficher une div si la balise content est présente - Version imprimable +- Forum CMS Made Simple FR (https://www.cmsmadesimple.fr/forum) +-- Forum : Général (https://www.cmsmadesimple.fr/forum/forum-3.html) +--- Forum : Général (https://www.cmsmadesimple.fr/forum/forum-10.html) +--- Sujet : Afficher une div si la balise content est présente (/thread-987.html) |
Afficher une div si la balise content est présente - alas - 15/02/2011 Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~ Bonjour, j'ai vu qu'il etait possible d'avoir plusieurs balise "content" dans un gabarit, cependant est t'il possible d'afficher une div seulement si une de mes balises "content" n'est pas vide. En gros je voudrais afficher la div avec son contenu seulement si l'utilisateur a insérer du texte dans l'administration. Merci pour votre aide Afficher une div si la balise content est présente - bess - 15/02/2011 passe par des tests smarty Code : {capture name=myContent}{content}{/capture} Afficher une div si la balise content est présente - alas - 15/02/2011 J'avoue que j'ai un peu de mal avec les tests smarty, il faut que je mette ce code directment dans mon gabarit ?? J'ai appeler mon bloc de la facon suivante comment se presente la syntaxe du cou ?? {content block="bloc_droit" label="bloc_droit"} Code : {capture name=myContent}{content block="bloc_droit"}{/capture} Merci Afficher une div si la balise content est présente - bess - 15/02/2011 tu as tout bon Afficher une div si la balise content est présente - jce76350 - 19/02/2011 - Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée. Afficher une div si la balise content est présente - rtlinfo - 18/05/2011 Bonjour Je tente de mettre en place le code signalé ci dessus pour n'afficher un "content block" que s'il n'est pas vide (dans la page affichée) Dans mon template, je mets ceci : Code : {* bloc 1 DEBUT *} Mais ce code me génère l'erreur smarty suivante: Code : string(178) "Smarty error: [in tpl_body:100 line 80]: syntax error: variable function call '$contenuBlocGauche1Titre.strlen' not allowed in if statement (Smarty_Compiler.class.php, line 1403)" string(173) "Smarty error: [in tpl_body:100 line 86]: syntax error: variable function call '$contenuBlocGauche1.strlen' not allowed in if statement (Smarty_Compiler.class.php, line 1403)" La voyez vous ? Merci d'avance Afficher une div si la balise content est présente - rtlinfo - 18/05/2011 Il semble que cela s'est résolu Après pause d'1/2h, j'ai supprimé des fichiers obsolètes dans mon dossier uploads et puis fais un nouveau refresh de page ; et j'ai plus l'erreur smarty Bizarre... Bizarre PS : n'étant pas à l'origine de ce fil de discussion, je ne peux et/ou ne sais si je dois mettre "résolu" Afficher une div si la balise content est présente - rtlinfo - 18/05/2011 Bizarre, bizarre, ça marche un coup sur deux ! j'édite mon gabarit (avec le code indiqué ci dessus permettant d'afficher bloc1 titre et bloc 1 s'ils sont pas vides je ne modifie rien et je clique sur "Envoyer" Je fais un refresh (Ctrl F5) de la vue de mon site sur une autre fenêtre du navigateur (ouverte en permanence) J'ai l'erreur ! Je refais refresh ! elle disparait ! J'ai fait des essais en vidant le cache préalablement à la ré-exécution des manips précitées ; pareil ! Bizarre non ? je pense que c'est smarty qui en est la cause (cache interne, ou je ne sais quoi) Quelqu'un a t il eu ce genre de soucis ? Afficher une div si la balise content est présente - Rémy - 03/05/2012 Salut, Je viens de galérer sur le même problème (presque un an plus tard ^^) et c'est ton utilisation de {capture} qui pêche... Il faut faire le {if} sur la variable $smarty comme ça Code : {if $smarty.capture.contenuBlocGauche1Titre != ""} Ok {else} Pas Ok {/if} En espérant que cela aide quelqu'un |