itcridamour Posted February 14, 2009 Share Posted February 14, 2009 Bonjour j'ai découvert récemment prestashop et magento en meme temps, mais il semble que prestashop soit plus adapté a mon projet. Bon j'aimerais savoir comment modifier ou creer un $HOOK_TOP, HEADER ou autre...Merci pour votre reponseEncore une fois merci beaucoup a tous et particulièrement à SotEW!!!! Link to comment Share on other sites More sharing options...
SotEW Posted February 14, 2009 Share Posted February 14, 2009 les Hook sont là pour que les différents modules puissent se taper l'incrust' à différents endroits du site (header, top, colonne de gauche ou de droite, footer, panier, confirmation de commandes...)Si tu veux ajouter un élément à un endroit précis du site, il te faudra utiliser un module, qui, lors de son installation, s'inscrira dans le hook correspondant.Que souhaites-tu faire exactement ? Link to comment Share on other sites More sharing options...
itcridamour Posted February 14, 2009 Author Share Posted February 14, 2009 Bonsoir merci pour toa réponse rapide. Em fait je vient de lire l'excellente documentation sur les modules. Et combiner avec ta réponse... je dois formuler ma question plus simplement... je souhaite par exemple déplacer des partie du module "user info" comme "Mon compte" et "Mon panier" mais pas "login" et "Welcome". Donc je doit bidouiller le module existant eventuellemt en creant un module "user info 2" que je hookerai sur "TOP" a la place du précédent? J'ai essayer mais l'interface d'administration reconnais qu'il y a un nouveau module... je dois donne un chemin d'acces ( maquette locale ???) et surtout une archive .rar (je suis sous mac)?Peux-tu m'aider ?[Edit] J'ai vu par ailleurs sur un autre topic que tu étais assez pro sur les modules donc n'hésites pas.... Link to comment Share on other sites More sharing options...
SotEW Posted February 14, 2009 Share Posted February 14, 2009 Si tu veux les déplacer tout en les laissant proches, tu peux jouer avec le css. Sinon, oui, il va falloir faire un autre module.Pas besoin de faire d'archives rar pour installer un nouveau module.Décris moi ce que tu veux faire exactement avec ton module, et je t'expliquerais comment faire ^^ Link to comment Share on other sites More sharing options...
Odjavel Posted February 14, 2009 Share Posted February 14, 2009 Qu'est-ce qu'il est sympa ce SotEW, quand meme !Entre les modules gratuits et les conseils pratiques, on est tous bien contents que tu sois un Prestateux et non un Magentiste ! ;-P Link to comment Share on other sites More sharing options...
itcridamour Posted February 14, 2009 Author Share Posted February 14, 2009 Voila: Je veux changer HOOK_TOP pour n'y laisser que "Welcome" , "Login", "Langues" en haut a droite de HEADER pour cela il faut que je change le module "user info. Je preferais en recreer un autre du genre "user info 2" et creer un nouveau module pour "My account", "My Cart", "Contact", que je mettrais dans HOOK_ FOOTER avec l'autres menu infos un peu remanier.Je voulais savoir aussi s'il était possible de conserver des modules justes pour un theme particulier ?Merci pour toutes vos reponses.... Link to comment Share on other sites More sharing options...
Atch Posted February 15, 2009 Share Posted February 15, 2009 Voila: Je veux changer HOOK_TOP pour n'y laisser que "Welcome" , "Login", "Langues" en haut a droite de HEADER pour cela il faut que je change le module "user info. Je preferais en recreer un autre du genre "user info 2" et creer un nouveau module pour "My account", "My Cart", "Contact", que je mettrais dans HOOK_ FOOTER avec l'autres menu infos un peu remanier.Je voulais savoir aussi s'il était possible de conserver des modules justes pour un theme particulier ?Merci pour toutes vos reponses.... Sinon pour moduler ton header tu peux le faire via l'adminAdmin/modumes/positions/ top headerlà tu peux choisir l'ordre d'affichage, la suppression de certains modules etc...Ensuite tu joues avec le Css pour bien disposer les blocs restantsexemple ici :http://svracer.free.fr/prestashop/ou la dans un ordre différenthttp://atchworks.free.fr/testshop/V++Atch Link to comment Share on other sites More sharing options...
itcridamour Posted February 15, 2009 Author Share Posted February 15, 2009 Merci Atch,C'est vrai que la partie admin de la boutique est vraiment deja puissante pour faire à 90% ce que je veux modifier dans mon UI. Ce que je cherche aussi c'est a comprendre, notamment, la flexibilité de l'apparence de la boutique en jouant sur les thèmes et les différents modules sans toucher au code de départ.Est-il pas mieux de créer un nouveau module: modifier le code .php et .tpl de celui ci parce que les module ce trouvent a la racine de la boutique et non dans le thème? Puis-je deplacer mes modules propres a un theme et "indiquer" a prestashop ou les prendre ? Merci de m'aider aussi pour la procédure d'installation.-------------------Itcridamour - prestashop V1.1 depuis 1 jour Link to comment Share on other sites More sharing options...
SotEW Posted February 15, 2009 Share Posted February 15, 2009 Alors...Ce que je te suggère, c'est de faire un seul nouveau blockuserinfo (oubli l'existant, que tu désinstallera à partir du BackOffice). je vais le nommer blockuserinfonewIl faudra faire une copie de l'existant pour le modifier. copie donc le dossier blockuserinfo et renomme le en blockuserinfonew, puis renomme les fichier blockuserinfo.php et blockuserinfon.tpl en blockuserinfonew.***. Enfin, dans blockuserinfonew.php, il faut renommer le module pour prestashop : modifie donc la ligne 7 en : $this->name = 'blockuserinfonew'; Tu peux dès à présent vérifier la présence du nouveau module en l'installant à partir du backoffice. si tout s'est bien passé, et que tu as bien supprimé l'ancien blockuserinfo, rien ne devrais avoir changé.Ensuite, tu souhaites que le module soit présent à deux endroits différents : dans le top, et dans le footer. Sachant qu'il est déjà dans le top, il faut l'inscrire dans le footer. pour celà, REMPLACE la ligne 22 par : if (!$this->registerHook('top') || !$this->registerHook('footer')) Il faut maintenant différencier l'affichage du top et du footer.duplique donc le fichier blockuserinfonew.tpl et renomme les deux fichiers, par exemple, blockuserinfonewtop.tpl et blockuserinfownewfooter.tpldans le fichier .php, il te faut dupliquer la fonction hookTop, et nommer la nouvelle hookFooter.A la fin de cette fonction, tu devrais avoir un return $this->display(__FILE__, 'blockuserinfo.tpl'); renomme le fichier retourné 'blockuserinfonew***.tpl', avec *** = top ou footer suivant la fonction.A ce moment, tu devrais avoir dans ton frontoffice, deux blockuserinfo, un dans le top, et un dans le footer.Si tu souhaites maintenant personnaliser l'affichage en fonction du thème, j'ai cherché, et trouvé comment faire :dans chaque dossier themes/nomdutheme/, créé le dossier /modules/ s'il n'existe pas déjà, puis créé le dossier /blockuserinfonew/ et place les fichiers tpl dedans.Il ne te reste plus qu'à supprimer les éléments que tu ne souhaites pas avoir dans le hook correspondant, et ce pour chaque theme. Si ça marche, sans que j'ai rien testé, c'est que je suis un Dieu. et c'est la classe :coolhmm: Link to comment Share on other sites More sharing options...
itcridamour Posted February 15, 2009 Author Share Posted February 15, 2009 Merci, pour ta réponse rapide et si bien détaillée, je vais essayer tout ça en début d'après-midi et te post ce soir pour te dire comment je m'en sors.Merci encore. Link to comment Share on other sites More sharing options...
SotEW Posted February 15, 2009 Share Posted February 15, 2009 j'ai édité mon message avec la personnalisation du module par thème. et ça marche ^^ Link to comment Share on other sites More sharing options...
itcridamour Posted February 15, 2009 Author Share Posted February 15, 2009 Merci à toi. Link to comment Share on other sites More sharing options...
itcridamour Posted February 15, 2009 Author Share Posted February 15, 2009 Re bonjour,J'ai essayer la solution proposer et je heurte à un probleme pour installer en local mon module:le panneau d'administration me demande l'url du module normalemet c'est http://localhost:8888/Monsite/boutique/themes/Montheme/modules/blockuserinfonewMais cela ne marche pas?!Quelqu'un peut m'aider ? Link to comment Share on other sites More sharing options...
SotEW Posted February 15, 2009 Share Posted February 15, 2009 ça, c'est pour quand tu as un module dans un fichier .tar.pas besoin de faire ça, si le module est valide et qu'il est présent dans le dossier /modules/ de la boutique, il est détecté automatiquement par prestashop !ATTENTION : là, tu as mis le module tout entier dans ton dossier de theme, ce n'est pas ce qu'il faut faire !il faut que tu mettes le dossier blockuserinfonew dans /Monsite/boutique/modules/, et les tpl dans /Monsite/boutique/themes/Montheme/modules/blockuserinfonew/ Link to comment Share on other sites More sharing options...
itcridamour Posted February 15, 2009 Author Share Posted February 15, 2009 J'ai toujours la même erreur et mon module n'est pas reconnu automatiquement?!Je ne sais plus comment essayer? Link to comment Share on other sites More sharing options...
SotEW Posted February 15, 2009 Share Posted February 15, 2009 ouaip, j'ai oublié de te préciser qu'il fallait aussi changer le nom de la classe(ligne 3) class blockuserinfonew extends Module Link to comment Share on other sites More sharing options...
itcridamour Posted February 15, 2009 Author Share Posted February 15, 2009 Je reste bloquer sur cette histoire d'url pour le localhost et sur le format de l'archive... je sais qu'il y a quelque développeur sous mac sur le forum peut-être sauront-ils me dire comment faire ?En plus c'est bloquant pour la gestion des modules parce que tant que je n'ai pas rajouter le module en attente (ou supprimer) je ne peux y accèder normalement. Link to comment Share on other sites More sharing options...
SotEW Posted February 15, 2009 Share Posted February 15, 2009 oki, tu ne sembles pas avoir compris, ou je n'ai pas été assez clair.Utilisateur mac ou pas, tu n'as PAS besoin de faire appel à cette fonction de la boutique pour ajouter un module.Si le code du module est bien écris, (ce qui est normalement le cas si tu as suivis ce qui as été dit), le module apparait de lui même dans le backoffice. Link to comment Share on other sites More sharing options...
itcridamour Posted February 15, 2009 Author Share Posted February 15, 2009 Ok, je recommence toute la manip....Merci pour ta patience Link to comment Share on other sites More sharing options...
SotEW Posted February 15, 2009 Share Posted February 15, 2009 Mais y'a pas de soucis, je suis très calme Si tu n'y arrives vraiment pas, je tenterais de faire quelque chose de mon coté. Pour le moment, chuis un peu overbooké, niveau temps libre. Link to comment Share on other sites More sharing options...
itcridamour Posted February 17, 2009 Author Share Posted February 17, 2009 Encore une fois merci beaucoup a tous et particulièrement à SotEW!!!!PS: je vois que beaucoup de post depuis 2 jours tournent autour du même sujet : fonctionnement des HOOK, et modification evenetuelle d'un module pour le faire a sa main. N'y a t'il pas moyen que la qualité des réponses données puisse se retrouver dans le WIKI ? 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