Jump to content

le module homefeatured n'apparaît pas dans mon nouveau hook


Recommended Posts

Bonjour,

 

 

Je suis sous prestashop 1.5, et je tente de créer un nouveau hook au dessus de mon footer, de la façon suivante:

 

- déclaration du nouveau hook "superfooter" dans la base

- ajout de la ligne suivante dans le fichier /classes/FrontController.php:

 

HOOK_SURFOOTER‘ => Module::hookExec(‘superfooter‘),

 

- mise en place de l'override avec création du fichier /override/classes/FrontController.php:

 

<?php
class FrontController extends FrontControllerCore {
public function displayFooter()
{
self::$smarty->assign(array(
'HOOK_SUPERFOOTER' => Module::hookExec('superfooter')
));
return parent::displayFooter();
}
}

 

- ajout du code suivant dans mon fichier footer.tpl, au début:

 

 {if !$content_only}
</div>
</div>
<div id="superfooter">
{$HOOK_SUPERFOOTER}.
</div>
<!-- Footer -->

 

- puis enfin je greffe le module "home featured" au hook dans positions.

Je souhaite l'avoir dans ce hook pour qu'il puisse apparaître tout le long de mon pied de page, et pas seulement sous la colonne centrale où se trouve mon diaporama (j'ai 2 colonnes: gauche pour le menu de navigation, centrale pour le diaporama).

 

Malheureusement rien ne s'affiche...

 

J'ai un peu épuisé tous les forums et je ne trouve pas la solution. Un peu d'aide serait la bienvenue.

 

Merci

Link to comment
Share on other sites

et pour moi le chemin du FrontController est : override/classes/controller/FrontController.ph le fichier existe deja tu as juste a l'ouvrir et a rajouter ceci :

 

<?php
class FrontController extends FrontControllerCore
{
public function displayFooter()
{ if (!self::$initialized)
parent::init();
self::$smarty->assign(array(
'HOOK_SUPERFOOTER' => Module::hookExec('superfooter'),
));
return parent::displayFooter();
}
}

Link to comment
Share on other sites

Bonjour,

 

 

Merci tout d'abord à tous les 2 pour vos solutions.

 

J'ai bien rajouté dans mon fichier footer.tpl la ligne {hook h="sperfooter"}, mais rien n'y fait, le module ne s'affiche toujours pas dans ma page.

 

J'ai même tenté la précision:

 

{hook h="sperfooter" mod="homefeatured"}

 

Aurais-je oublié quelque chose?

Link to comment
Share on other sites

J'avais effectivement rajouté la fonction suivante dans le homefeatured.php:

 

public function hooksurfooter($params)
{
	 $this->hookFooter($params);
 }

 

 

mais rien n'y fait. Ce n'est peut-être pas la bonne ligne de code, ni placée là où il faudrait.

Link to comment
Share on other sites

Bonjour,

 

 

Non je n'ai pas de message d'erreur. J'ai bien le message "Module greffé sur le point d'accroche avec succès". J'ai même tenté avec un autre module (celui de logo de paiement), et le résultat est identique: rien ne s'affiche. :(

Link to comment
Share on other sites

  • 2 weeks later...

Rebonjour,

 

du coup j'ai mis quelque chose d'assez moche. Voici le code que j'ai rajouté dans mon fichier footer.tpl:

 

<div id="surFooter" class="grid_9 alpha omega clearfix">

<div id="featured-products_block_center" class="block products_block clearfix">
<div class="block_content">
<ul style="height:150px;">
 <li class="ajax_block_product first_item last_line">
 <a class="product_image" title="bracelet cuir" href="http://waltwhite.fr/newshop/index.php?id_product=8&controller=product">
  <img width="124" height="124"  margin-right="120" alt="bracelet cuir" src="http://waltwhite.fr/newshop/img/p/2/7/27-home_default.jpg">
 </a>
 </li>

 <li class="ajax_block_product item last_line">
  <a class="product_image" title="bracelet 2" href="http://waltwhite.fr/newshop/index.php?id_product=9&controller=product">
<img width="124" height="124" alt="bracelet 2" src="http://waltwhite.fr/newshop/img/p/2/9/29-home_default.jpg">
  </a>
 </li>

 

Même si maintenant j'arrive à afficher quelque chose tout le long de la page (et non pas seulement au niveau de la colonne centrale), le résultat n'est pas celui escompté, puisque je devrais modifier à la main le code à chaque fois qu'un nouveau produit sera publié.

 

Si quelqu'un peut avoir une idée plus simple de faire cela.

 

 

Merci et bonnes fêtes ;)

Link to comment
Share on other sites

J'avais effectivement rajouté la fonction suivante dans le homefeatured.php:

 

public function hooksurfooter($params)
{
	 $this->hookFooter($params);
 }

 

 

mais rien n'y fait. Ce n'est peut-être pas la bonne ligne de code, ni placée là où il faudrait.

 

Sauf que si je ne m'abuse, homefeatured ne possède pas de méthode hookFooter.

 

A la base et même si je n'aurais pas fait comme ça , tes modifs du premier post auraient fonctionné si tu avais juste ajouté :

 

public function hooksurfooter($params)
{
	 $this->hookHome($params);
}

 

dans homefeatured.php

Link to comment
Share on other sites

Bonjour,

 

 

Merci effectivement ça fonctionne mieux avec le code ci-dessous:

 

public function hooksurfooter($params)
{
			 $this->hookDisplayHome($params);
}


 

hookHome n'existe pas dans le fichier .tpl, mais plutôt hookdisplayHome.

Par contre j'avais bien essayé avec hookFooter, présente dans le fichier, et ça n'a jamais marché.

 

Merci encore et bonnes fêtes de fin d'année! :)

Link to comment
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
×
×
  • Create New...