Jump to content
Sign in to follow this  
darkv

[Resolu] Panier dans le top of pages

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Je vous remercie tous pour votre aide.

c'est parfait , j'ai maintenant mon panier dans le " top of pages ".

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

 

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 !

Share this post


Link to post
Share on other sites

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..

Share this post


Link to post
Share on other sites

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 !

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More