Keweem Posted May 10, 2013 Share Posted May 10, 2013 Bonjour, Je viens d'installer la version 1.5.4.1 de Prestashop pour faire une site vitrince/Commerce mais sans vente directe. Les clients pourront créer des listes de cadeaux (ou liste de naissance), l'imprimer ou l'envoyer par mail à un revendeur près de chez eux. J'aimerais mettre à la place du panier, dans la header la liste de cadeaux (voir la copie d'écran). Je n'arrive pas à greffer ce bloc depuis la back office. Avez-vous des idées? Keweem Link to comment Share on other sites More sharing options...
Juda Posted May 10, 2013 Share Posted May 10, 2013 (edited) Si j'ai bien suivis, vous êtes allé dans le Back-Office (BO), onglet module > positions. Vous avez cliqué sur greffer un module, puis choisi votre module de liste de cadeau, et choisi "DisplayTop" (et pas DisplayHeader) comme hook/greffe. A ce moment, vous avez eu un petit message d'erreur du genre "Ce module ne peut être greffé ici ?" C'est cela ? Si vous avez pas suivi cette étape je vous conseil de la faire =) Si vous êtes bien victime du message d'erreur, il va falloir se plonger un peu dans le code =D Le problème : quand on créer un module, on lui décide les endroits où il va se greffer (i.e. le header, le footer, la colonne de droite etc), on est pas obligé de le programmer pour qu'il se greffe partout. Quand on rencontre ce genre de problème, deux solutions : - Soit on développe son propre module (Dans ce cas là, vous ne poseriez pas la question ) - Soit on rajoute tout simplement la "bonne" greffe sur le module. Je serais ravi de vous aider à rajouter la bonne greffe, par contre il va falloir quelque détails supplémentaires : Êtes-vous sur une version locale ? Ou bien vous avez déjà votre site en ligne ? Savez-vous comment accéder aux pages de code de votre site ? Deux doc sont aussi à votre dispo : http://doc.prestasho...pageId=15171588 http://doc.prestasho...pageId=15171877 Bien cordialement, Edited May 10, 2013 by Juda (see edit history) Link to comment Share on other sites More sharing options...
Keweem Posted May 13, 2013 Author Share Posted May 13, 2013 Bonjour, J'ai suivi effectivement la procédutre décrite ci-dessous : "Si j'ai bien suivis, vous êtes allé dans le Back-Office (BO), onglet module > positions. Vous avez cliqué sur greffer un module, puis choisi votre module de liste de cadeau, et choisi "DisplayTop" (et pas DisplayHeader) comme hook/greffe. A ce moment, vous avez eu un petit message d'erreur du genre "Ce module ne peut être greffé ici ?" C'est cela ?" Mais j'ai bien un message qui me dit qu'il n'est pas possible de greffer à cet endroit. Je n'ai pas les compétences pour faire du dév. et donc de faire du sur mesure :-( Je suis sur un serveur hébergé (1and1) et en ce moment sur un site de test. J'ai regardé les docs, mais je ne m'en sort pas... Voici le site test : www.keo-home.com Merci pr vos réponses Link to comment Share on other sites More sharing options...
Juda Posted May 16, 2013 Share Posted May 16, 2013 (edited) D'accord, avez-vous accès aux fichiers de prestashop (le code source) ? Si vous avez directement installé votre site en ligne, vous pouvez récupéré les donnés par FTP (ex: FileZilla). On recherche sur tout un dossier en particulier, celui du module wishlist (dont je connais pas le nom), qui doit surement se trouver dans le dossier modules. Ne vous inquiété pas, il n'ya rien de très compliqué, je vais essayer de vous guider/aider pas à pas. Donc si vous comprenez pas quelque chose, posez donc la question . Edited May 21, 2013 by Juda (see edit history) Link to comment Share on other sites More sharing options...
Keweem Posted May 23, 2013 Author Share Posted May 23, 2013 Oui, j'ai les codes sources. Au fait, on a enlever le bloc panier, on arrive à placer le bloc Wishlist en haut mais quand on veut intégrer l'image de fond de la header, le bloc liste de cadeau disparait! Bon, on laisse tomber.... Merci encore pour ton aide. Link to comment Share on other sites More sharing options...
Juda Posted May 29, 2013 Share Posted May 29, 2013 Bon je post quand même la méthode au cas ou des gens serait intéressé. Solution pour Prestashop 1.5.X . Une fois que vous avez repéré votre module, ouvrez dans votre éditeur préféré (Notepad++ est recommandé pour débuter) le fichier .php (En principe il a le même nom que le dossier e.g. dossier wishlist, le fichier sera nommé wishlist.php). A l'intérieur vous devriez y trouver la méthode install public function install() { return parent::install() && $this->registerHook('leftColumn'); } Cette méthode indique à l'installation du module où il va se greffer, ici sur la colonne gauche en l'occurence . Il est conseillé de rien supprimer si vous n'avez pas les compétences requis. Si vous voulez que ce module se greffe autre part que sur la colonne gauche il va falloir lui indiquer. Par exemple en haut de la page. public function install() { return parent::install() && $this->registerHook('leftColumn') && $this->registerHook('displayTop'); //Parfois le && peut être remplacé par AND } On a juste rajouté une ligne : $this->registerHook('displayTop') Une liste des différents hook est disponible dans la doc Maintenant qu'on lui indiqué qu'il pouvait aussi se greffer dans le top (haut de la page), il nous faut lui indiquer comment il va s'afficher (Ewi toujours obligé de les prendre par la main ses modules :x). Un peu plus bas, vous devriez apercevoir des méthodes qui gére le comportement des greffes. public function hookDisplayLeftColumn($params) { $this->context->smarty->assign( array( 'my_module_name' => Configuration::get('MYMODULE_NAME'), 'my_module_link' => $this->context->link->getModuleLink('mymodule', 'display') ) ); return $this->display(__FILE__, 'mymodule.tpl'); } Cette méthode indique comment va s'afficher le module quand ll est greffer à gauche. On va donc créer notre méthode pour le comportement au top. public function hookDisplayTop($params) { return $this->hookDisplayLeftColumn($params); } On fais au plus simple ! On créer une méthode qui indique qu'on veut le même comportement que sur la colonne gauche, facile ? Maintenant il vous reste plus qu'a ré-initialiser votre module (BackOffice Onglet modules > modules). Et le positioner correctement (BackOffice Onglet modules > positions). Ceci est un peu la façon sale de le faire, la bonne méthode serait de copier le dossier du modules dans votre dossier /themes/modules/ et d'y faire les changements là-bas. Voilà. Bonne journée. 1 Link to comment Share on other sites More sharing options...
Keweem Posted May 29, 2013 Author Share Posted May 29, 2013 Merci beaucoup Benjamin, On va essayer dès qu'on a un moment. Nous avons laissé tombé le projet... Mais, ton post va nous aider pour les prochains projets :-) Link to comment Share on other sites More sharing options...
antwake Posted March 25, 2014 Share Posted March 25, 2014 Keweem, quel module utilises-tu pour la liste de naissance? Merci par avance 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