pryril Posted March 19, 2011 Share Posted March 19, 2011 Bonjour,aucun hook n'est défini pour la page "history.php" alors j'ai mis le code de mon module dans "right column", seulement le problème c'est que le code de mon module est présent sur toutes les pages du site, alors que je veux qu'il ne soit actif que sur la page history.php : comment vous y prendriez-vous ? à part checker l'URL pour voir si elle contient "history.php" mais je trouve ça un peu bancal... prestashop n'a pas prévu ce cas de figure ?merci d'avance Link to comment Share on other sites More sharing options...
Broceliande Posted March 19, 2011 Share Posted March 19, 2011 le mieux n'est-il pas d'ajouter un hook là ou tu en as besoin ? dans history.tpl par exemple ? à moins que tu n'aies besoin d'intervenir en amont ? Link to comment Share on other sites More sharing options...
pryril Posted March 20, 2011 Author Share Posted March 20, 2011 C'est pas tant que j'aie besoin d'intervenir en amont, c'est surtoutq ue créer un nouveau hook suppose de modifier le header.php et le history.tpl, chose que je peux faire moi même pour une boutique, mais si je souhaite distribuer très largement mon module, je préfère qu'il soit installable et désinstallable en un clic, puisque la complexité est le frein le plus important dans l'installation d'une nouvelle fonctionnalité... Link to comment Share on other sites More sharing options...
hervehh Posted March 25, 2011 Share Posted March 25, 2011 Bonjour,peut-être trop tard, mais pour que ton module soit actif uniquement sur la page history.php c'est très (voir trop) simple.Dans le BO / modules/ positions. Tu édites ton module et dans le champs "Exceptions" tu y mets le nom de TOUTES les pages (php) où tu veux que ton module n'apparaisse pas.ex: index.php, product.php, shopping-cart.php. my-account.php.....De ce fait le module n'apparaitra que dans la page history.php .J'espère que cela t'aura servi.bye Link to comment Share on other sites More sharing options...
pryril Posted March 25, 2011 Author Share Posted March 25, 2011 Merci beaucoup !Fonctionnellement, c'est ce que je recherche, mais est-ce possible de programmer ca dans le module directement, comme paramètres par défaut ? Parce que sur les boutiques qui utiliseront le module, beaucoup risquent de ne pas penser à le faire elle même et les conséquences pourraient être pénibles :/ Link to comment Share on other sites More sharing options...
hervehh Posted March 25, 2011 Share Posted March 25, 2011 Je pense qu'au niveau du fichier php de ton module lors de l'install il doit être possible de faire quelque chose mais là mes compétences s'arrètent...Par contre j'ai utilisé récement une modif te permettant de creer un hook ou tu veux pour y greffer un module.Ça fonctionne du tonnerre et ça m'a permis de greffer un module dans le product-list ou par defaut il n'y a pas de hook.Je te donne la modif - voir si ça peut te permettre de greffer ton module directement dans le history.php.Modif:1º/ Dans ta Base de données, il est necessaire de creer un "emplacement" pour ton hook.Avec phpmyadmin tu affiches la table ps_hook (si ps_ est ton préfix ...)Là tu ajoutes un enregistrement , et non un champ ou encore moins une table.Dans id tu mets rien , il sera auto générédans name tu mets le nom de ton hook - exemple: monmoduledans title, encore monmoduledans description, encore monmoduleposition tu mets 1 (mais ça ne sert pas)2º/ Mettre le fichier function.hook.php ci-joint dans /tools/smarty/plugins 3º/Puis dans le BO de presta tu vas dans -> modules, positions et tu cherche dans la list (jusqu'en bas) le champ que tu as créé dans ta Bdd (ex: monmodule) normalement il doit y être.4º/ Tu places ce code à l'endroit ou tu veux ton hook :{hook name='leNomDuHook'} Puis tu attaches ton module à ce hook et tu devrais le voir dans history.php (à condition qu'il soit prévu - dans le php de l'install - d'être mis dans le centre de ton site et non dans une colonne.Pour ça je ne pourais pas t'aider.Mais cette modif est super car tu peux mettre un hook partout ou tu veux - enfin là ou il n'y en as pas.Voilà pour plus d'infos, jette un oeil sur ce lien.http://www.prestashop.com/forums/viewthread/39310/developpement_et_modules/un_hook_dans_product_listsinon bonne chance.salutations function.hook.php Link to comment Share on other sites More sharing options...
pryril Posted March 25, 2011 Author Share Posted March 25, 2011 Merci encore, en fait j'avais déjà imaginé cette solution, mais c'est toujours pareil : on s'éloigne de la simplicité du module et on demande au marchand de tripatouiller lui même le code, ses bases de données, ses fichiers, etc. et leur boulot, c'est de vendre leurs produits, pas de se transformer en mécanos du PHP ^^ je crois que je vais devoir programmer un en-tête en fonction de l'URI, dommache :/ Link to comment Share on other sites More sharing options...
Broceliande Posted March 25, 2011 Share Posted March 25, 2011 Merci beaucoup !Fonctionnellement, c'est ce que je recherche, mais est-ce possible de programmer ca dans le module directement, comme paramètres par défaut ? Parce que sur les boutiques qui utiliseront le module, beaucoup risquent de ne pas penser à le faire elle même et les conséquences pourraient être pénibles :/ La soluce donnée par hervehh est top , je l'utilise moi même depuis un bail. D'autant que tu peux toi même installer le plugin àau moment de l'installation du module. Reste le tpl certes mais bon , tu fournis un tpl d'origine modifié et le tout est joué.Sinon,pour ajouter les exclusions toi même à partir de l'install et les retirer lors de la desinstall , je te propose de loucher vers les methodes registerExceptions et unregistrerExceptions de la classe module. Link to comment Share on other sites More sharing options...
pryril Posted March 25, 2011 Author Share Posted March 25, 2011 ok pour les méthodes un/registerExceptions mais je comprends pas bien ta réserve sur les .tpl ? Si j'arrive à ajouter les exceptions dans l'__install de mon module, pourquoi devrais je fournir un nouveau .tpl ? Link to comment Share on other sites More sharing options...
Broceliande Posted March 25, 2011 Share Posted March 25, 2011 Non ça c'était juste si tu adoptais la methode magique du plugin smarty... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now