darkv Posted September 9, 2011 Share Posted September 9, 2011 bonjour, je cherche a mettre le panier dans le "Top of pages" (pour remplacer les modules "identification,bienvenue etc etc). Mais dans le BO, ce point d'accroche m'est refusé pour ce module (je peux ajouter/enlever les autres mais le panier n'est positionnable que dans les colonnes droite ou gauche). A force de lire les topics, je comprends bien que c'est un probleme de "HOOKS" mais je vois pas comment faire. Je suis sur la version 1.4.4.1. Merci d'avance pour votre aide. Link to comment Share on other sites More sharing options...
MayMo design Posted September 9, 2011 Share Posted September 9, 2011 voilà le module modifié pour la 1.4 blocktopcart.zip Link to comment Share on other sites More sharing options...
acrewfr Posted September 9, 2011 Share Posted September 9, 2011 Bonjour, Il faut éditer le fichier blockcart.php du module du même nom pour ajouter le hook "top" : Juste après la ligne public function hookLeftColumn($params) { return $this->hookRightColumn($params); } Ajouter public function hookTop($params) { return $this->hookRightColumn($params); } Le panier pourra ainsi être placé en haut avec le même affichage que si il était placé dans un colonne. Link to comment Share on other sites More sharing options...
Jean-Marie Collin Posted September 9, 2011 Share Posted September 9, 2011 Bonjour, Effectivement, le panier n'est pas prévu pour être "accroché" dans "top of pages". Il vous faut modifier le module. Ouvrez le fichier blockcart.php et cherchez ce code: public function hookLeftColumn($params) { return $this->hookRightColumn($params); } Ajoutez après public function hookTop($params) { return $this->hookRightColumn($params); } Cependant, le panier s'affichera avec le même style que celui de ma colonne de droite ou de gauche. Pour pouvoir avoir une version personnalité, il faut donc dupliquer le code de la fonction "hookRightColumn" Voici le code: public function hookTop($params) { if (Configuration::get('PS_CATALOG_MODE')) return; global $smarty; $smarty->assign('order_page', strpos($_SERVER['PHP_SELF'], 'order') !== false); $this->smartyAssigns($smarty, $params); return $this->display(__FILE__, 'blockcarttop.tpl'); } il vous faut donc créer un fichier "blockcarttop.tpl" en recopiant celui d’origine que vous pourrez modifier par la suite. Cordialement. Link to comment Share on other sites More sharing options...
darkv Posted September 9, 2011 Author Share Posted September 9, 2011 Je vous remercie tous pour votre aide. c'est parfait , j'ai maintenant mon panier dans le " top of pages ". Link to comment Share on other sites More sharing options...
MayMo design Posted September 9, 2011 Share Posted September 9, 2011 Bonjour, Effectivement, le panier n'est pas prévu pour être "accroché" dans "top of pages". Il vous faut modifier le module. Ouvrez le fichier blockcart.php et cherchez ce code: public function hookLeftColumn($params) { return $this->hookRightColumn($params); } Ajoutez après public function hookTop($params) { return $this->hookRightColumn($params); } Cependant, le panier s'affichera avec le même style que celui de ma colonne de droite ou de gauche. Pour pouvoir avoir une version personnalité, il faut donc dupliquer le code de la fonction "hookRightColumn" Voici le code: public function hookTop($params) { if (Configuration::get('PS_CATALOG_MODE')) return; global $smarty; $smarty->assign('order_page', strpos($_SERVER['PHP_SELF'], 'order') !== false); $this->smartyAssigns($smarty, $params); return $this->display(__FILE__, 'blockcarttop.tpl'); } il vous faut donc créer un fichier "blockcarttop.tpl" en recopiant celui d’origine que vous pourrez modifier par la suite. Cordialement. c'est pourquoi je lui ai donné un module déjà prêt avec même le truc de l'image produits qui se dirige vers le panier avec ajax Link to comment Share on other sites More sharing options...
flaurent Posted September 13, 2011 Share Posted September 13, 2011 Salut, Je me permets d'intervenir sur ce thread car le sujet ressemble en quelque sorte à mon problème. Je suis aussi débutant avec prestashop, j'ai épluché pas mal de doc concernant la modification des module, leur placement sur des nouveau hook etc... mais rien y fait, ca ne fonctionne pas ! Lorsque vous mentionnez de modifier le fichier blockcart.php, faut modifier le module qui est à la racine de la boutique, ou faut il, comme je l'ai eu lu sur internet, dupliquer le module souhaité dans un dossier "modules" à l'intérieur de répertoire de mon thème, et apporter les modification à cet endroit ? Merci d'avance pour votre aide Link to comment Share on other sites More sharing options...
MayMo design Posted September 13, 2011 Share Posted September 13, 2011 Lorsque vous mentionnez de modifier le fichier blockcart.php, faut modifier le module qui est à la racine de la boutique, ou faut il, comme je l'ai eu lu sur internet, dupliquer le module souhaité dans un dossier "modules" à l'intérieur de répertoire de mon thème, et apporter les modification à cet endroit ? Merci d'avance pour votre aide l'astuce du tontheme/modules/... n'est valable que pour les fichiers tpl, si tu veux modifier un fichier php d'un module, tu dois le modifier directement dans le dossier modules du site. Link to comment Share on other sites More sharing options...
flaurent Posted September 14, 2011 Share Posted September 14, 2011 l'astuce du tontheme/modules/... n'est valable que pour les fichiers tpl, si tu veux modifier un fichier php d'un module, tu dois le modifier directement dans le dossier modules du site. okkkkk!!! Ca, c'est une info qui va m'être trés utile, et je t'en remercie ! Et cela va t'il poser un problème lors d'une éventuelle mise à jour de la boutique ? Ces fichiers php modifié ne vont ils pas être écrasé ? Merci encore ! Link to comment Share on other sites More sharing options...
flaurent Posted September 14, 2011 Share Posted September 14, 2011 Bon, j'ai bien suivi ton info, mais visiblement, il y a quelque chose que je dois mal faire .. J'ai suivi à la lettre ce tuto : http://www.devoox.com/prestashop-ajouter-un-hook-dans-une-boutique-prestashop-1-4.html pour créer un nouveau hook. Depuis mon backoffice, mon nouveau hook est bien visible dans ma liste, et j'arrive (du moins, j'ai un message me disant que mon module à bien été gréffé) à gréffé mon module de recherche rapide sur ce nouveau hook. Mais en front, RIEN ! Smarty regénère bien les templates, les caches ne sont pas activés.. Link to comment Share on other sites More sharing options...
flaurent Posted September 14, 2011 Share Posted September 14, 2011 AAH!! Bon, et bien cette histoire d'override c'est bien beau, mais il faudrait préciser quelque part que le fichier _FrontController.php dans le dossier override/classe/ est à renommer!! (supprimer le "_") C'est quand même vachement mieux quand ca marche ! Link to comment Share on other sites More sharing options...
frederic42 Posted November 9, 2011 Share Posted November 9, 2011 Bonjour, Effectivement, le panier n'est pas prévu pour être "accroché" dans "top of pages". Il vous faut modifier le module. Ouvrez le fichier blockcart.php et cherchez ce code: public function hookLeftColumn($params) { return $this->hookRightColumn($params); } Ajoutez après public function hookTop($params) { return $this->hookRightColumn($params); } Cependant, le panier s'affichera avec le même style que celui de ma colonne de droite ou de gauche. Pour pouvoir avoir une version personnalité, il faut donc dupliquer le code de la fonction "hookRightColumn" Voici le code: public function hookTop($params) { if (Configuration::get('PS_CATALOG_MODE')) return; global $smarty; $smarty->assign('order_page', strpos($_SERVER['PHP_SELF'], 'order') !== false); $this->smartyAssigns($smarty, $params); return $this->display(__FILE__, 'blockcarttop.tpl'); } il vous faut donc créer un fichier "blockcarttop.tpl" en recopiant celui d’origine que vous pourrez modifier par la suite. Cordialement. Bonjour, J'ai bien dupliqué le code du hook right pour le mettre dans le top avec un tpl perso, l'affichage fonctionne en revanche il ne traduit pas sur le top alors qu'il traduit bien sur le right. Si vous avez une idée je suis preneur ^^ Cordialement 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