cmoiahmed Posted November 12, 2011 Share Posted November 12, 2011 Bonjour, j'ai un petit souci, je voudrai mettre le module "free block" dans le Top de ma page et qu'il ne s'affiche que sur la page d'accueil, mais je n'y arrive pas. j'ai vu que pour certains modules, il était possible de le faire (comme les slideshow) Link to comment Share on other sites More sharing options...
crea34 Posted November 12, 2011 Share Posted November 12, 2011 pour n'afficher un block que sur une page il faut aller dans >modules>positions>sélectionner le module et cliquer sur le petit crayon, puis mettre les pages où ne pas l'afficher dans les exceptions (exemple category.php, product.php, etc...) Pour le greffer dans le "top" il faut voir si c'est prévu dans l'installation du module, sinon modifier son fichier php pour ajouter un hook, il faudra sans doute ensuite adapter le css Link to comment Share on other sites More sharing options...
Jacques Biais Posted November 13, 2011 Share Posted November 13, 2011 Le + simple est de le modifier( php) pour qu'il s'affiche dans le bloc HomePage puis le positionner ou tu le désires dans la page d'accueil. Link to comment Share on other sites More sharing options...
jolvil Posted November 13, 2011 Share Posted November 13, 2011 Si dans le tpl du freeblock on ajoute au début et à la fin {if $page_name != index} code du tpl {/if} ca devrait le faire, non? Link to comment Share on other sites More sharing options...
cmoiahmed Posted November 14, 2011 Author Share Posted November 14, 2011 @jolvil Merci pour l'astuce mais elle sert a afficher le block sur toutes les pages sauf la page d'accueil, mais j'ai la solution, il suffit juste de remplacer != par == et ça fonctionne (block qui s'affiche cette fois que sur la page d'accueil), ce qui donne : {if $page_name == index} code du tpl {/if} @Jacques Biais j'avais déjà fais la modification dans le php en le mettant dans le hookTop, mais rien à y faire il s'affichait sur toutes les pages. Mais je ne comprend pas quand tu dit de le mettre dans le bloc HomePage. @crea34 ton astuce de mettre des exceptions, je la connaissais déjà. merci à vous trois pour votre aide... Link to comment Share on other sites More sharing options...
Jacques Biais Posted November 14, 2011 Share Posted November 14, 2011 Ma solution était très classique: public function install() { if (parent::install() == false OR $this->registerHook('home') == false) return false; $query = 'CREATE TABLE '._DB_PREFIX_.'freeblock (`id_lang` int(2) NOT NULL, `title` varchar(255) NOT NULL, `content` text NOT NULL, PRIMARY KEY(`id_lang`)) ENGINE=MyISAM default CHARSET=utf8'; if (!Db::getInstance()->Execute($query)) return false; return true; } ....etc etc Puis l'appel du tpl en bas du php Link to comment Share on other sites More sharing options...
jolvil Posted November 14, 2011 Share Posted November 14, 2011 @jolvil Merci pour l'astuce mais elle sert a afficher le block sur toutes les pages sauf la page d'accueil, mais j'ai la solution, il suffit juste de remplacer != par == et ça fonctionne (block qui s'affiche cette fois que sur la page d'accueil), ce qui donne : {if $page_name == index} code du tpl {/if} Oui effectivement, c'est ce que je voulais indiquer mais j'ai fait une erreur de copié collé Link to comment Share on other sites More sharing options...
cmoiahmed Posted November 14, 2011 Author Share Posted November 14, 2011 @Jacques Biais j'avais déjà fait exactement ce que tu dis, mais rien a y faire le bloc s'affiche quand même sur les autres pages... 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