[résolu] Smarty et affichage de blocs conditionnel -
Whymsun - 04/12/2011
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: -1.9.4.3
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Afin de gérer l'affichage de mes bannières dans mes différentes rubriques, j'utilise le code suivant :
Code :
[== Smarty ==]
{if $page_alias eq 'rubrique_1'}
{cms_module module='Banners' category='category_1'}
{elseif $page_alias eq 'rubrique_2' or $page_alias eq 'rubrique_2_page_01' or $page_alias eq 'rubrique_2_page_02' or $page_alias eq 'rubrique_2_page_03' or $page_alias eq 'rubrique_2_page_04'}
{cms_module module='Banners' category='rubrique_02'}
{else}
{cms_module module='Gallery' dir='bandeaux-generique'}
{/if}
La condition elseif présuppose que les pages 01, 02, 03, 04 existent déjà et je ne trouve pas comment indiquer que la bannière de la rubrique 2 doit s'appliquer à toutes les pages enfants de cette rubrique.
Une idée ?
[résolu] Smarty et affichage de blocs conditionnel -
airelibre - 04/12/2011
Hello,
Pour gérer ce genre de situation - même comportement pour tous les enfants d'une rubrique principale - j'utilise le module CGSimpleSmarty qui propose une fonction bien pratique :
Code :
{$cgsimple->get_root_alias()}
Qui retourne l'alias de la page racine par rapport à la page en cours. J'espère que ca pourra t'aider !
[résolu] Smarty et affichage de blocs conditionnel -
Whymsun - 05/12/2011
Un grand merci pour le conseil airelibre,
get_root_alias() pour les têtes de rubriques,
get_parent_alias() pour les sous rubriques,
et c'est le contrôle absolu des blocs où l'on veut, quand on veut !
Désormais mon code donne ceci :
Code :
[== Smarty ==]
{if $page_alias eq 'page_1'}
{cms_module module='Banners' category='category_1'}
{elseif $page_alias eq 'sous-rubrique_2' or $cgsimple->get_parent_alias() == "sous-rubrique_2"}
{cms_module module='Banners' category='sous-rubrique_02'}
{elseif $cgsimple->get_root_alias() == "rubrique_03"}
{cms_module module='Banners' category='rubrique_03'}
{else}
{cms_module module='Gallery' dir='bandeaux-generique'}
{/if}
[résolu] Smarty et affichage de blocs conditionnel -
airelibre - 05/12/2011
Et oui c'est bien pratique
C'est pas mal aussi pour associer une couleur à chaque rubrique, je fais généralement :
Code :
<body id="{$cgsimple->get_root_alias()}">
Et css fait le reste
Comme c'est résolu, je ferme ou tu as d'autres questions ?
[résolu] Smarty et affichage de blocs conditionnel -
Whymsun - 05/12/2011
Non, c'est ok, je vais explorer cette utilisation pour les couleurs...
[résolu] Smarty et affichage de blocs conditionnel -
airelibre - 05/12/2011
Ca marche, je ferme la discussion !