Jump to content

Greffer module dans la page maintenance


Recommended Posts

Bonjour,

Je souhaite greffer le module newsletter dans la page maintenance. Je l'avais déjà fait sous Prestashop 1.2 mais là impossible d'y arriver sous 1.4.5.1

 

J'ai bien crée un hook maintenance, modifié blocnewsletter.php pour qu'il me permette de greffer le module dans le hook newsletter, mais rien ne s'affiche sur la page maintenance.

 

Il me semble qu'une partie du problème provient du fait que le HOOK_HEADER n'est pas pris en compte dans la page maintenance (même en l'ajoutant, cela ne fonctionne pas ...).

 

Merci pour votre aide.

Link to comment
Share on other sites

Bonsoir,

 

La page maintenance fonctionne depuis le controller principal FrontController.php. Le fonctionnement est différent de PrestaShop 1.2

 

/* Display a maintenance page if shop is closed */
protected function displayMaintenancePage()
{
 if (!in_array(Tools::getRemoteAddr(), explode(',', Configuration::get('PS_MAINTENANCE_IP'))))
 {
  header('HTTP/1.1 503 temporarily overloaded');
  self::$smarty->display(_PS_THEME_DIR_.'maintenance.tpl');
  exit;
 }
}

 

Dans cette méthode, il n'existe pas de déclaration de hook particulier pour une exécution sur PHP, et encore moins sur /themes/[votre_thème]/maintenance.tpl

Ce template maintenance.tpl englobe lui même sa construction de page de a à z juste après l'envoi de l'entête http.

Ce qui veut dire que vous ne pouvez pas greffer de modules sans en déclarer un pour vos besoins spécifiques.

 

L'idéal serai alors de créer un override de la classe /classes/FrontController.php et d'y modifier la méthode précédente afin d'y greffer votre nouvel hook php.

 

Bien cordialement

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