Jump to content

[Résolu] Désactiver modules par pages?


Recommended Posts

Bonjour,

 

Je voudrais savoir s'il est possible de désactiver certains modules sur certaines pages?

J'ai des modules qui s'affichent sur ma colonne de gauche et je désactive la colonne de gauche sur certaines pages (par exemple produit) en mettant un "display: none" sur cette colonne. J'ai trouvé cette technique quelque part sur le forum.

Je résume cette technique :

Pour cacher la colonne de gauche, j'ai édité le fichier header.tpl et ajouté le code suivant:

{if $page_name != 'product'}
<!-- Left -->
<div id="left_column" class="column">
 {$HOOK_LEFT_COLUMN}
</div>
{/if}

et pour la page product, j'ai adapté le css pour que la colonne de gauche ne s'affiche pas. Dans le fichier global.css, j'ai ajouté:

#product #left_column {display: none}

 

Le seul avantage c'est qu'on ne voit pas la colonne de gauche. OK, c'est ce qu'on veut mais...

ce n'est pas pratique, si on veut le faire pour plusieurs pages, il faut rajouter des tests "{if $page_name != 'product' && $page_name != 'otherpage' ...} ". Ca devient chiant au bout de quelques dizaines de pages. Un système à la Joomla serait bien plus pratique. En BackOffice, il est possible de sélectionner les pages sur lequel un module est "actif" ou pas.

J'ai mis "actif" entre guillemets pour une raison bien précise. J'en viens au deuxième inconvénient de la technique cité. Ok, les modules ne s'affichent pas mais ils se chargent quand même! Et d'un point de vue performances, je vous laisse imaginer la catastrophe! C'est autant de css, javascripts et de code PHP qui se chargent inutilement.

 

Alors, peut-être que je n'utilise pas la bonne technique? Est-ce qu'il y aurait une autre façon de faire?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...