Benjamin Lorteau Posted March 27, 2010 Share Posted March 27, 2010 Bonjour à tous,j'ai commencé à créer une boutique pour un de nos clients, avec une demande sépcifique, faire une sorte d'assistant de personnalisation de produit pas à pas. Comme ce n'est pas un fonctionnement standard, j'ai pensé créer un module. Comm je suis en 1.3 beta 1, je ne voulais pas devoir tout merger quand la version 1.3 finale sortirait.Je me retrouve cependant en face d'une situation dont je ne connais pas encore l'issue : habituellement, les modules d'affichage fournissent des blocks qui peuvent être intégrés à une page existante ou au layout (header, footer, colonnes).J'aurais pour ma part besoin que mon module s'affiche dans toute la page. J'ai essayé avec un fichier PHP accessible depuis le répertoire module, mais du coup toutes les URL relatives ne fonctionnaient plus. j'ai donc créé un nouveau fichier PHP à la racine, en me basant sur l'index.php : <?php include(dirname(__FILE__).'/config/config.inc.php'); if(intval(Configuration::get('PS_REWRITING_SETTINGS')) === 1) $rewrited_url = __PS_BASE_URI__; include(dirname(__FILE__).'/header.php'); [???] include(dirname(__FILE__).'/footer.php'); ?> Je suis un peu bloqué ici, je ne sais pas comment faire appel à mon module "proprement" (à la place des [???]) qui lui après se chargerait de charger les templates associés.La documentation "développeur" étant inexistante à ce jour, je vous remercie par avance pour vos réponses ! Link to comment Share on other sites More sharing options...
BVince Posted March 27, 2010 Share Posted March 27, 2010 Bonjour,j'opterais pour une solution javascript avec appel ajax du module php dans le body de la page ou le div choisi... Link to comment Share on other sites More sharing options...
Benjamin Lorteau Posted March 29, 2010 Author Share Posted March 29, 2010 Merci BVince pour ta réponse mais je préfère mettre en oeuvre une solution qui ne se base pas sur Javascript.Finalement, voici mon fichier PHP final : <?php include(dirname(__FILE__).'/config/config.inc.php'); include(dirname(__FILE__).'/header.php'); global $cart, $cookie; $hookArgs['cookie'] = $cookie; $hookArgs['cart'] = $cart; $moduleInstance = Module::getInstanceByName('cs_shirtgenerator'); $hookArgs['altern'] = 1; $smarty->assign('HOOK_HOME', call_user_func(array($moduleInstance, 'hookShirtGenerator'), $hookArgs) ); $smarty->display(_PS_THEME_DIR_.'index.tpl'); include(dirname(__FILE__).'/footer.php'); ?> Je me suis bien sûr largement inspiré de la fonction hookExec de la classe Module pour arriver à mes fins.Je suis prêt à faire la mise à jour Prestashop 1.3 finale ! 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