laurentg Posted September 12, 2012 Share Posted September 12, 2012 (edited) Bonjour à tous , je me permet de vous solliciter , car etant encore un peu novice sur prestashop ( j'avoue je viens d'opencart ! ), j'ai creer un module pour afficher un bloc de 6 images cliquable dans le home et je n'arrive pas à lier mon fichier css à mon fichier php...... le seule fichier qui m'est proposé c'est le global css ..... Donc la Question est , ou est le problème ? je vous mets en copie mes 2 fichiers php et css ..... <?php class Monmodule extends Module{ function __construct() { $this->name = 'monmodule'; $this->tab = 'Mes modules'; $this->version = 0.1; $this->displayName = $this->l('Mon super module'); $this->description = $this->l('Description de mon super module'); parent::__construct(); } function install() { if (!parent::install()) return false; if (!$this->registerHook('home')) return false; return true; } public function uninstall() { if (!parent::uninstall()) return false; } public function getContent() { if (isset($_POST['submit'])){ if (!empty($_POST['lastname']) AND !empty($_POST['firstname'])) echo '<h1>Bonjour '.$_POST['firstname'].' '.$_POST['lastname'].'</h1>'; else echo '<span class="warning" style="display:block;" >Erreur : Veuillez entrer votre nom et prenom</span>'; } echo '<fieldset> <legend> Administration du module : </legend> <form method="post" action=""> Nom : <input type="text" name="lastname" /> Prenom : <input type="text" name="firstname" /> <input type="submit" value="Envoyer" name="submit" /> </form> </fieldset>'; } function hookHome($params){ return $this->display(__FILE__, 'monmodule.tpl'); } } ?> et le css #home_3_products_area { background: none repeat scroll 0 0 #000000; margin: 0 0 5px; padding: 5px 0 0; #home_3_products_area a { display: block; float: left; height: 150px; width: 330px; Voila , je pense avoir oublié qq chose mais la je bloque .... merci d avance Edited September 14, 2012 by laurentg (see edit history) Link to comment Share on other sites More sharing options...
Hedrad Posted September 12, 2012 Share Posted September 12, 2012 Il faut appeler le fichier css dans le hook header. Regardez comment sont construits les modules utilisant un css (il y en a plein...). Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 ok , je regarde de suite et je te dis cela .... Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 (edited) alors , j'ai trouver ca à rajouter en bas de page php: public function hookHeader( $params ) { Tools::addCSS( $this->_path.'css/monfichiercss.css', 'all' ); } est ce que ca va le faire ? ca ne marche plus quand je rajoute cette ligne ..... enfin dumoins cela ne change rien toujours pas d appel a mon fichier css Edited September 12, 2012 by laurentg (see edit history) Link to comment Share on other sites More sharing options...
StevenInsita Posted September 12, 2012 Share Posted September 12, 2012 (edited) Bonjour, Tu es en quel version de Prestashop ?? Si tu es en 1.5 : public function hookHeader($params) { $this->context->controller->addCSS($this->_path.'*.css'); } Si tu es en 1.4 : public function hookHeader($params) { Tools::addCSS($this->_path.'*.css'); } Tu dois bien sur avant register le hook Header dans l'install de ton module if (!$this->registerHook('header')) return false; Et réinitialiser ton module. Edited September 12, 2012 by StevenInsita (see edit history) Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 oups désolé , je suis en 1.4.8.2 ..... j'essaie ca et je te dis , et j ai register le hookheader comme ceci : function install() { if (!parent::install()) return false; if (!$this->registerHook('home')) return false; if(!$this->registerHook('header')) return false; return true; } est ce ok ? Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 et comment je reinitialise le module ? Link to comment Share on other sites More sharing options...
StevenInsita Posted September 12, 2012 Share Posted September 12, 2012 (edited) Oui, très bien, surtout n'oublie pas de réinitialiser ton module depuis l'administration pour qu'il repasse par l'install de ton module. Dans l'administration, dans l'onglet module, sous le titre de ton module tu dois avoir 'réinitialiser', pas loin de supprimer et désactiver Edited September 12, 2012 by StevenInsita (see edit history) Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 ok j ai vu c est en cours , je te dis si cela marche ou pas !! merci encore Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 bon c'est fait et toujours pas de changement , dans firebug mon module est toujours sous global.css .......est ce que ce serait dans le css qu il y aurait un probleme ...... Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 je vous remets en copie mon fichier php et mon css : <?php class Monmodule extends Module{ function __construct() { $this->name = 'monmodule'; $this->tab = 'Mes modules'; $this->version = 0.1; $this->displayName = $this->l('Mon super module'); $this->description = $this->l('Description de mon super module'); parent::__construct(); } function install() { if (!parent::install()) return false; if (!$this->registerHook('home')) return false; if(!$this->registerHook('header')) return false; return true; } public function uninstall() { if (!parent::uninstall()) return false; } public function getContent() { if (isset($_POST['submit'])){ if (!empty($_POST['lastname']) AND !empty($_POST['firstname'])) echo '<h1>Bonjour '.$_POST['firstname'].' '.$_POST['lastname'].'</h1>'; else echo '<span class="warning" style="display:block;" >Erreur : Veuillez entrer votre nom et prenom</span>'; } echo '<fieldset> <legend> Administration du module : </legend> <form method="post" action=""> Nom : <input type="text" name="lastname" /> Prenom : <input type="text" name="firstname" /> <input type="submit" value="Envoyer" name="submit" /> </form> </fieldset>'; } function hookHome($params){ return $this->display(__FILE__, 'monmodule.tpl'); } public function hookDisplayHeader($params) { Tools::addCSS($this->_path.'monmodule.css'); } } ?> et le css : #home_3_products_area { background: none repeat scroll 0 0 #000000; margin: 0 0 5px; padding: 5px 0 0; #home_3_products_area a { display: block; float: left; height: 150px; width: 330px; je reste bloqué la ....... Link to comment Share on other sites More sharing options...
Hedrad Posted September 12, 2012 Share Posted September 12, 2012 Dans la fonction install, tu as : if(!$this->registerHook('header')) et plus bas, tu as : public function hookDisplayHeader($params) mets plutôt : public function hookHeader($params) Link to comment Share on other sites More sharing options...
StevenInsita Posted September 12, 2012 Share Posted September 12, 2012 (edited) As tu désactivé le Cache et Forcé la compilation ? Dans ton Admin, Préférence -> Performance +1 pour le : public function hookHeader($params) Edited September 12, 2012 by StevenInsita (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted September 12, 2012 Share Posted September 12, 2012 (edited) ce n'est pas hookheader mais hooktop... tu peux aussi utiliser "global $css_files; " (toujours dans hooktop) Edited September 12, 2012 by coeos.pro (see edit history) Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 Super c'est ok , par contre pour le css des images c'est à dire : #home_3_products_area a { display: block; float: left; height: 150px; width: 330px; pas d acces , toujours global css ..... Link to comment Share on other sites More sharing options...
coeos.pro Posted September 12, 2012 Share Posted September 12, 2012 1- c'est ok avec quel code/solution ? 2- pas d'images ? en même temps il n'y en a pas dans ton css ... Link to comment Share on other sites More sharing options...
Hedrad Posted September 12, 2012 Share Posted September 12, 2012 ce n'est pas hookheader mais hooktop... Bah, tant qu'à faire, autant lancer le css. dans le header... C'est plus propre... Link to comment Share on other sites More sharing options...
laurentg Posted September 12, 2012 Author Share Posted September 12, 2012 Merci pour votre aide je dois partir , je vous donne des news de mon Tpl des que je peux Merci a tous :-) Link to comment Share on other sites More sharing options...
laurentg Posted September 14, 2012 Author Share Posted September 14, 2012 bonjour , juste pour vous dire que tout est ok merci encore a tous ....... Link to comment Share on other sites More sharing options...
coeos.pro Posted September 14, 2012 Share Posted September 14, 2012 pour ceux qui auront le même problème que toi, tu devrais expliqué quelle solution a résolu le problème Link to comment Share on other sites More sharing options...
StevenInsita Posted September 14, 2012 Share Posted September 14, 2012 (edited) Et ensuite marquer ton Topic en résolu Pour marquer un topic comme [Résolu] : - Editer le premier post du topic en cliquant sur le bouton "Editer", - Cliquer sur le bouton "Utiliser l'éditeur complet", - Ajouter la mention "[Résolu]" au début du titre de votre topic et cliquez sur le bouton "Envoyer le message modifié". Edited September 14, 2012 by StevenInsita (see edit history) 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