ccyyrriillee Posted January 31, 2011 Share Posted January 31, 2011 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 More sharing options...
Divine Posted February 1, 2011 Share Posted February 1, 2011 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 More sharing options...
ccyyrriillee Posted February 1, 2011 Author Share Posted February 1, 2011 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 More sharing options...
Divine Posted February 1, 2011 Share Posted February 1, 2011 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.tplEt normalement cela devrait être tout bon Link to comment Share on other sites More sharing options...
ccyyrriillee Posted February 1, 2011 Author Share Posted February 1, 2011 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 More sharing options...
Divine Posted February 1, 2011 Share Posted February 1, 2011 Héhé bin voilà Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now