Jump to content

[RÉSOLU] Blockadvertising sur Top of Page uniquement sur la page d'accueil


Recommended Posts

Bonjour,

Une question de condition:

Les données de bases sont les suivantes, je voulais une page d'accueil sur une seule colonne et le reste sur 2. J'ai donc suivi ce post très clair sur le sujet.
Jusqu'ici tout va bien. Maintenant je voudrais greffer le blockadvertising sur Top of Page.
Pour ça, une petite modif en suivant ce post.

Le truc c'est que je voudrais faire ça uniquement pour la page d'accueil, étant donné que je retrouve ensuite mon blockadvertising dans la colonne de droite.
Et là je sais pas trop comment faire. Je comprend bien le coup de la condition mais en gros je ne vois pas bien où et quoi mettre.
Un petit coup de pouce serait le bienvenu :)
Merci d'avance.

Link to comment
Share on other sites

Hello,

Plusieurs solutions:

- Lorsque tu greffes ton module dans le top of pages, tu peux définir des exceptions. Tu devras alors y entrer toutes les pages où tu ne souhaites pas que le module apparaisse.

- Ou alors, en mettant carrément les mains dans le cambouis, il faut que tu fasses un tpl pour le hook top et un autre pour le hook colonne de droite.
Ainsi, dans le fichier tpl du hook top, tu ajoutes au tout début la condition suivante:

{if $page_name == index}

et tu la refermes à la fin du fichier en ajoutant {/if}

:)

Link to comment
Share on other sites

Ah cool, Divine à la rescousse!

Alors pour les exceptions en greffant le module oui, j'avais commencé par ça mais ça fait un paquet d'exceptions.
Du coup je me suis dit qu'il devait bien y avoir un moyen plus simple, enfin plus rapide surtout.
Et comme je ne suis pas contre mettre les mains dans le cambouis (ça permet de mieux comprendre comment ça fonctionne après tout...) je pense que je vais opter pour la deuxième solution.

Par contre je ne comprends pas bien ton explication. Sur le principe d'accord, mais je m'emmèle un peu les pinceaux sur ce que je dois faire concrètement. C'est dans mon module blockadvertising que je dois faire 2 tpl différents?
Désolé pour le côté "boulet" mais plutôt que tenter un truc et tout démêler après parce que je me suis planté je préfère essayer de faire bien direct... :)

Merci

Link to comment
Share on other sites

En fait le contenu de tes deux tpl sera le même.
Tu en crée juste un supplémentaire que tu nommes "blockadvertising_top.tpl" par exemple (avec donc le même contenu que l'autre) puis dans le fichier php, tu modifies la fonction "hookTop" comme ceci :

    function hookTop($params)
   {
       global $smarty, $protocol_content, $server_host;

       $smarty->assign('image', $protocol_content.$server_host.$this->adv_img);
       $smarty->assign('adv_link', $this->adv_link);

       return $this->display(__FILE__, 'blockadvertising_top.tpl');
   }



Ensuite tu n'as plus qu'à rajouter la condition que je t'ai indiqué dans le fichier blockadvertising_top.tpl

Et normalement cela devrait être tout bon :)

Link to comment
Share on other sites

Ben voilà, c'est nickel tout ça!

Effectivement c'est tout bon :)
Alors j'avais compris le coup du tpl en double dont 1 avec condition, ce qui me manquait c'était l'appel de ce tpl dans le php.

J'ai juste eu un petit soucis pour aller chercher la bonne image donc j'ai adapté ton code en le calcant sur celui du hookRightColumn, ça donne ça:

function hookTop($params)
   {
           global $smarty;

           $smarty->assign('image', $this->adv_img);
           $smarty->assign('adv_link', $this->adv_link);

           return $this->display(__FILE__, 'blockadvertising_top.tpl');
   }  



du coup il me retrouve bien l'image en question.

Encore merci !!!

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...