Jump to content

[resolu] Problème avec modules


Recommended Posts

Bonsoir,

J'ai crée un nouveau hook dans lequel j'ai repris certains modules et inséré un nouveau module. J'ai bien mon hook dans admin avec les bons modules. Idem pour la base de données. Cependant,je n'arrive rien à afficher sur le site. quelqu'un peut-il me dire d'où vient le problème?Prestashop est encore tout nouveau pour moi.

Link to comment
Share on other sites

Bonsoir,

Si du coté base de donnée :

Le nouveau hook est présent dans la table (ps_)hook
Le(s) module(s) est bien inscrit sur ce hook (inscription présente dans la table (ps_)_hook_module),
ça devrais pour la mise en place base de donnée.

Maintenant, c'est smarty qui gère la transcription de la balise {NOM_DU_HOOK} (présent dans un fichier .tpl) en le contenu des différents modules inscrits dessus.
Peut-être manque t'il dans le fichier php de la page dans laquelle apparaitera le hook la ligne qui fait reconnaitre à smarty " {NOM_DU_NOUVEAU_HOOK} " comme un hook à prendre en compte.

Cette ligne ressemble à :

'NOM_DU_NOUVEAU_HOOK' => Module::hookExec('nom_du_nouveau_hook')



où NOM_DU_NOUVEAU_HOOK est la chaine de caractère présente dans le fichier .tpl de la page qui contient ce hook ( sous la forme de {NOM_DU_NOUVEAU_HOOK} ) et nom_du_nouveau_hook est le nom sous lequel est inscrit le hook dans la base de donnée.


hum, voila...


Est-ce que j'ai été assez clair ? :red:

Si non, il existe un tuto pour créer un Hook (en anglais) ici : http://www.prestashop.com/forums/viewthread/12637/

Link to comment
Share on other sites

Merci mais je ne vois toujours pas où se trouve le problème.

voici la partie du code du fichier header.php (en gras, la partie ajoutée);

$smarty->assign(array(
'HOOK_HEADER' => Module::hookExec('header'),
'HOOK_HORIZONTAL' => Module::hookExec('horizontal'),
'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn'),
'HOOK_TOP' => Module::hookExec('top'),
'static_token' => Tools::getToken(false),
'token' => Tools::getToken(),
'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
'content_only' => intval(Tools::getValue('content_only'))
));

et j'ai ajouté ceci dans header.tpl ; {$HOOK_HORIZONTAL}

Dans la table ps_hook, le nom du hook est horizontal (en position 1) et dans la table ps_hook_module j'ai l'id correspondant avec les bons id des modules. Je ne sais pas si j'ai oublié quelque chose?
Link to comment
Share on other sites

le module qui est supposé être inscrit possède t'il la bonne fonction ?


quelque chose qui ressemblera à

function hookHorizontal($params) {

(...)
return (...)
}




EDIT :

j'ai fait (pour la première fois aussi, du coup) les différents points pour créer un hook et ça fonctionne bien, donc voici ce que j'ai fait.

j'ai décidé de créer un hook tout en haut de mon site, que je vais appeler 'bandeau'.

Donc dans header.tpl de mon theme, j'ai ajouter après la balise body et le div de la page, ceci :


           <!-- Header -->
               {$HOOK_BANDEAU}

(...)
Link to comment
Share on other sites

Merci pour le message.

C'est bien ce que je pensais: il manquait deux lignes dans le bloc. D'ailleurs, j'ai remarqué qu'il va falloir rajouter ces deux lignes dans certains blocs de prestashop car tous ne fonctionnent pas avec tous les hook.

Merci à toi VIP. Je vais pouvoir me remettre au boulot!

;-)

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