Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[résolu] Smarty et affichage de blocs conditionnel
#1

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 ? Smile

Smile cmsms 1.5.2 -> 1.11.7
#2

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 !
#3

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}

Smile cmsms 1.5.2 -> 1.11.7
#4

Et oui c'est bien pratique Wink 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 Wink

Comme c'est résolu, je ferme ou tu as d'autres questions ?
#5

Non, c'est ok, je vais explorer cette utilisation pour les couleurs...

Smile cmsms 1.5.2 -> 1.11.7
#6

Ca marche, je ferme la discussion !
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)