ced64k Posted October 21, 2013 Share Posted October 21, 2013 Salut, J'utilise un thème (1.5) qui a deux zones éditables dans le Live Edit, une sidebar et une colonne centrale. Je voudrai en créer une troisième au dessus pour pouvoir y ajouter un module. Comment faire ? Merci Link to comment Share on other sites More sharing options...
Szed Posted October 22, 2013 Share Posted October 22, 2013 Bonjour Ced64k, ce que tu appelle une "Zone" est appelé sous Prestashop un Hook (ou "point d'accroche"). Il en existe plusieurs dont notamment, effectivement, les colonnes de gauche, centrale, et droite. Tu peux ajouter un hook manuellement, en suivant ce tutoriel : http://www.prestaedit.com/content/8-l-ajout-de-nouveaux-hooks ou http://www.prestablog.fr/ajouter-une-header-bar-barre-horizontale-au-dessus-du-header-sur-prestashop-1-5/ par exemple... Link to comment Share on other sites More sharing options...
ced64k Posted October 22, 2013 Author Share Posted October 22, 2013 Merci. J'étais déjà tombé sur cet article mais ce n'est vraiment clair. Où doivent se mettre ces deux lignes ? $this->registerHook('displayTest'); hookDisplayTest(); Dans le module ou dans le theme ? Link to comment Share on other sites More sharing options...
ced64k Posted October 22, 2013 Author Share Posted October 22, 2013 (edited) Comment est-ce possible d'avoir inventé un système aussi obscur ? J'ai trouvé ici l'explication originale, avec les commentaires du développeur qui a créé cette fonction pour les hooks. Je fais ce test: header.tpl: <!-- Center --> <div id="center_column" class=" grid_5"> <div class="sliderPlease"> {hook h='sliderHook'} </div> homeslider.php if (parent::install() && $this->registerHook('displayHome') && $this->registerHook('actionShopDataDuplication') && $this->registerHook('sliderHook')) public function hookSliderHook($params) { if(!$this->_prepareHook()) return; // Check if not a mobile theme if ($this->context->getMobileDevice() != false) return false; $this->context->controller->addJS($this->_path.'js/jquery.bxSlider.min.js'); $this->context->controller->addCSS($this->_path.'bx_styles.css'); $this->context->controller->addJS($this->_path.'js/homeslider.js'); return $this->display(__FILE__, 'homeslider.tpl'); } Je réinitialise le module homeslider. Ensuite je vais dans le backend>Modules>positions, et je greffe homeslider sur sliderHook. Je retourne sur le front-end et le div .sliderPlease reste vide alors qu'il devrait contenir le slider. Ah oui et au niveau du Live Edit ça ne change rien, cette technique des hooks ne fait pas apparaître de zone en pointillés rouges où on peut faire un drag&drop. Bref… c'est PrestaCompliqué Edited October 22, 2013 by ced64k (see edit history) Link to comment Share on other sites More sharing options...
ced64k Posted October 22, 2013 Author Share Posted October 22, 2013 Je vais dans la configuration du module, je change un texte, PAF le module s'affiche sur le front-end Je suppose que ça vient du cache smarty, je l'ai desactivé pour tester. 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