CL@RIF Posted July 1, 2014 Share Posted July 1, 2014 Bonjour, Je débute sur Prestashop 1.6 (et sur Prestashop tout court) et je rencontre quelques difficultés à adapter l'espace "Mon compte". Je voudrais lui ajouter un module perso de la même manière que "Mes informations personnelles" ou "Mes adresses". Comment puis-je m'y prendre pour y arriver ? Avec un module ? En ajoutant les fichiers dans le core ? J'ai testé ces deux solutions, sans succès. J'ai parcouru pas mal le net pour trouver une réponse mais sans succès... Je vous remercie par avance Link to comment Share on other sites More sharing options...
loulou66 Posted July 1, 2014 Share Posted July 1, 2014 coucou 1°) creer un hook pour y accrocher le tpl dans la fonction install de ton module $this->registerHook('monHook') 2°) dans le fonction hookMonHook($param) preparer/assigner tout les varaible a afficher coter client et rensignner le fichier tpl a affciher public function hookMonHook() { bla bla bla ... return $this->display(__FILE__, 'monfichiertpl.tpl', $this->getCacheId()); } 3°) dans le fichier theme/defaultbootstrap/my-account.tpl a l'endroit ou tu veut afficher ton module ajouter {hook h="monHook"} @++ Loulou66 Link to comment Share on other sites More sharing options...
CL@RIF Posted July 1, 2014 Author Share Posted July 1, 2014 Bonjour Loulou66, Merci pour ton retour mais j'ai du mal formuler ma demande : la page que je cherche à créer correspond plus à mon-site-prestashop.fr/identite que la modification du .tpl my-account (pour lequel ta méthode était tout à fait pertinente ). Je cherche donc à créer un module ou dans le core (pas terrible) une nouvelle page du style mon-site-prestashop.fr/identite2 Link to comment Share on other sites More sharing options...
loulou66 Posted July 1, 2014 Share Posted July 1, 2014 (edited) Coucou ok alors 1°) tu créer un Identite2Controller.php dans controller/front avec dedans voir exemple BestSalesController par exemple public $php_self = 'identite2'; public function initContent() { parent::initContent(); préparation des variables bla bla bla...... assignation des variables pour le front ofice avec $this->context->smarty->assign(array(...... décaration du tpl a aficcher $this->setTemplate(_PS_THEME_DIR_.'identite2.tpl'); } public function setMedia() { parent::setMedia(); $this->addCSS(_THEME_CSS_DIR_.'identite2.css'); } 2°) dans theme/bootstrap tu crées le fichier mapage.tpl 3°) dans la BO==>Seo&URL tu cree un nouvelle page identite2 ( choisir le controller identite2 dans la liste deroulante) 4°) dans theme/bootstrap/my-account.tpl tu rajoute la ligne <li><a href="{$link->getPageLink('identite2', true)|escape:'html':'UTF-8'}" title="{l s='Identite 2'}"><i class="icon-user"></i><span>{l s='Identite 2'}</span></a></li> ** pour l'icone installes dans Word la police themes\default-bootstrap\font\FontAwesome.otf inseres un caractères spécial, repères l'icone que tu veut afficher et le numéro /F.... qui lui est défini puis dans themes\default-bootstrap\css\global.css recherches ce numéro et tu aura la class a mettre dans <i class="....."> donc dans la page my-account quant tu va cliquer sur le lien identite2 cela afficheras le identite2.tpl via Identite2Controller 5°) supprimes le fichier cache/class_index.php Voilou @++ Loulou66 Edited July 1, 2014 by loulou66 (see edit history) 1 Link to comment Share on other sites More sharing options...
CL@RIF Posted July 1, 2014 Author Share Posted July 1, 2014 (edited) Merci beaucoup pour ton aide (et ta patience), Loulou66 ! Je dois avoir un soucis quelque part parce que j'avais déjà essayé ta procédure (en m'inspirant des mécanismes d'Itentity) et lorsque je clique sur mon lien $link->getPageLink('identity2', true) je me retrouve avec ça comme URL : index.php?controller=identity2 et bien sûr, je tombe sur ma page 404. Comme si le controleur n'était pas "détecter"... J'ai désactivé le cache et il n'y a aucun réglage à effectuer dans le dispatcher vu qu'on est que sur le nom de page... Et si je passe : mon-site-prestashop.fr/identity2 j'ai cette erreur : Fatal error: Class 'Identity2Controller' not found in /var/www/mon-site-prestashop/classes/controller/Controller.php on line 135 (je tiens à préciser, avant toute remarque désobligeante que j'ai bien : mon-site-prestashop/controllers/front/Identity2Controller.php ) Edited July 1, 2014 by CL@RIF (see edit history) Link to comment Share on other sites More sharing options...
loulou66 Posted July 1, 2014 Share Posted July 1, 2014 coucou Ha oui pour l'erreur Fatal error: Class 'Identity2Controller' not found in /var/www/mon-site-prestashop/classes/controller/Controller.php on line 135 il faut supprimer le ficher cache/class_index.php après un rafraîchissement(CTRL+F5) de la page le fichier se recrées et ça fonctionne en faite c'est parce que le controller que tu a crées n'est pas dans la liste dans ce fichier en le supprimant il va se réécrire avec ton nouveau controller @++ Loulou66 Link to comment Share on other sites More sharing options...
CL@RIF Posted July 1, 2014 Author Share Posted July 1, 2014 Haaaaa, c'est mieux, merci !! Je ne connaissais pas cette astuce pour mettre à jour les controleurs. J'ai toujours une erreur cela dit : [Debug] This page has movedPlease use the following URL instead: http://mon-site-prestashop/index.php?controller=identity2 En sachant que si je suis le lien fourni, j'atterris sur la page 404... Dans SEO & Url, j'ai créé le lien avec comme paramètre ; Page : identity2 & url réécrite : identity2 Du coup, je sèche toujours Link to comment Share on other sites More sharing options...
loulou66 Posted July 1, 2014 Share Posted July 1, 2014 Coucou j'ai modifier mon post 4 en changant mapge par indentite2 pour eviter toutes erreurs supprimes toutes les modif faites avant et recommences en suivant le post je pense que ça doit marcher je l'ai fait ya 2/3jour sur ma 1.6 locale @++ Loulou66 Link to comment Share on other sites More sharing options...
CL@RIF Posted July 1, 2014 Author Share Posted July 1, 2014 Enfin, ça fonctionne !! Merci beaucoup, Loulou66 !! J'avoue que je n'est pas trop cerné d'où venait le problème précisément vu que j'ai tout repris à zéro... Bref, merci encore pour la procédure et pour le coup du class_index. Bonne soirée 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