Changement dynamique en fonction url appel

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#2
Salut,

Tu pourrais travailler avec CGSimpleSmarty qui te permet de récupérer l'alias de la rubrique principale.
Admettons que tu donnes comme alias à tes 2 grandes rubriques : rubrique1 et rubrique2.
Tes blocs header et footer se nommeront : headerrubrique1 et 2, footerrubrique1 et 2.
Dans la page appelante, le lien doit être sous forme :
Code :
{cms_selflink page="alias" urlparam=$urlparam}
Un seul gabarit contenant :
Code :
{strip}
{$urlparam = "{cgsimple::get_root_alias()}"}
{assign var=urlparam value="?gabarit=$urlparam" scope="global"}
{if isset($smarty.get.gabarit)} {* si paramètre passé en url *}
    {$header={global_content name="header{$smarty.get.gabarit}"} scope=global}
    {$footer={global_content name="footer{$smarty.get.gabarit}"} scope=global}
{else} {* si pas de paramètre, récupère l'alias du root parent *}
    {$header={global_content name="header{cgsimple::get_root_alias()}"} scope=global}
    {$footer={global_content name="footer{cgsimple::get_root_alias()}"} scope=global}
{/if}
{process_pagedata}{/strip}<!DOCTYPE HTML>
<html lang="fr">
    <body>
        <header>
            {$header}
        </header>
        [...]
        <footer>
            {$footer}
        </footer>
    </body>
</html>

Je crois que c'est efficace et élégant Cool
#2
Salut,

Tu pourrais travailler avec CGSimpleSmarty qui te permet de récupérer l'alias de la rubrique principale.
Admettons que tu donnes comme alias à tes 2 grandes rubriques : rubrique1 et rubrique2.
Tes blocs header et footer se nommeront : headerrubrique1 et 2, footerrubrique1 et 2.
Dans la page appelante, le lien doit être sous forme :
Code :
{cms_selflink page="alias" urlparam=$urlparam}
Un seul gabarit contenant :
Code :
{strip}
{$urlparam = "{cgsimple::get_root_alias()}"}
{assign var=urlparam value="?gabarit=$urlparam" scope="global"}
{if isset($smarty.get.gabarit)} {* si paramètre passé en url *}
    {$header={global_content name="header{$smarty.get.gabarit}"} scope=global}
    {$footer={global_content name="footer{$smarty.get.gabarit}"} scope=global}
{else} {* si pas de paramètre, récupère l'alias du root parent *}
    {$header={global_content name="header{cgsimple::get_root_alias()}"} scope=global}
    {$footer={global_content name="footer{cgsimple::get_root_alias()}"} scope=global}
{/if}
{process_pagedata}{/strip}<!DOCTYPE HTML>
<html lang="fr">
    <body>
        <header>
            {$header}
        </header>
        [...]
        <footer>
            {$footer}
        </footer>
    </body>
</html>

Je crois que c'est efficace et élégant Cool


Messages dans ce sujet

Atteindre :


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