Jump to content
Kaolin

[RESOLU] Hook qui ne s'affiche plus Prestashop 1.7

Recommended Posts

Bonjour la communauté,

 

Je viens demander votre aide car je rencontre un soucis qui commence à traîner depuis quelques jours sans en comprendre la raison.

 

J'ai créé une boutique prestashop 1.7.4.2 en local (Serveur maison qui tourne en PHP 7.1, Apache 2.4), après avoir fini j'ai décidé de mettre en "pré production" sur l'hébergement PlanetHoster dont je dispose. Là commence la grosse galère :

Un module maison développé pour des besoins spécifiques et qui fonctionne parfaitement en local me sort une erreur bien méchante car il ne trouve pas le tpl. J'ai décidé de mettre le tpl dans le répertoire où il voulait absolument aller le chercher (template admin). => Problème "résolu"

Mais là je n'y comprend plus rien, le footer de mon template (template acheté) et qui s'affiche correctement en local décide de ne tout simplement plus du tout s'afficher sur l'hébergement. Après avoir fouillé un peu, il s'avère que le hook ne s'affiche pas du tout (où qu'il n'est pas appelé je ne sais pas trop) mais surtout je n'ai aucun message d'erreur en debug.

Je précise également que tous les hook ne sont pas concerné, les autres hook s'affichent correctement.

La version PHP du serveur hébergé est également la 7.1

Est-ce que quelqu'un aurait une idée où une piste à explorer car je sèche totalement ?

Un point que j'aimerai éclaircir car honnêtement je n'y comprends plus rien, pourquoi le comportement est si différent sur le serveur hébergé par rapport à mon serveur local en sachant que les versions Apache et PHP sont strictement identiques et que bien évidement le code n'a pas bougé pendant le transfert ?

 

Merci de votre aide

 

 

Share this post


Link to post
Share on other sites

Je me réponds à moi-même car j'ai trouvé d'où venait le soucis.

Dans mon cas il y'avait une condition dans la fonction d'appel de la liste des block du footer qui faisait que si je désactivais les déclinaisons (qui ne me servent absolument à rien), alors la fonction retournais un array().

Je ne comprends pas du tout ce que faisait cette condition ici, dans le doute j'ai réactivé les déclinaisons pou un temps, le temps de fouiller un peu plus sur pourquoi cette condition existe.

 

Pour ceux qui rencontreraient peut être un cas un peu similaire, voici comment je suis remonté à la source (merci PhpStorm)

j'ai recherché l'appel du hook qui ne s'affichait pas dans la class du module en question, après avoir fait un peu de debug dégueulasse à base de die() et autre var_dump(), j'ai trouvé bisarre d'avoir un array vide dans ma variable qui contient la liste des block à afficher. Je suis donc remonté à la fonction, situé dans le dossier models du module, qui remplissait cette variable jusqu'à trouver ceci :

if (!Combination::isFeatureActive())
    return array();

Voilà pour moi ! On ne sait jamais, si ça peut servir à quelqu'un un jour :)

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

×
×
  • Create New...

Important Information

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