touslesitesauto Posted January 20, 2017 Share Posted January 20, 2017 ainsi que d'autres variables. Ma question comment dois-je m'y prendre pour coller mon code "php" dans le .tpl {php}...mon code...{/php} ne fonctionne pas et le site affiche une page blanche Ce que j'ai déjà fait : 1/ J'ai créé mon répertoire dans le dossier "module" 2/ J'ai créé ma mypage.php à la racine de ce dossier avec "Classe Mypage extends Module..." 3/ Toujours dans cette page, j'ai installé mes "public fonction" 4/ J'ai crée mon tpl (mypage.tpl) dans le dossier "views/templates/hook" et là j'arrive à récupérer et inscrire des données (dans une BDD) issues d'un formulaire que j'ai créé j'arrive aussi à écrire une texte à la place d'un formulaire Mais ce que je voudrai, c'est pouvoir y inscrire l'ensemble de mon code php pour récupérer la valeurs des variables, mais une page blanche s'affiche ! Secundo, les inscrire dans la BDD nouvellement créée Merci de votre aide pour me guider avec Link to comment Share on other sites More sharing options...
Johann Posted January 20, 2017 Share Posted January 20, 2017 Alors un peu d'histoire : - au début, il y avait les dinausores - ensuite, il y a eu le modèle MVC, qui permet, pour ne pas dire oblige, de séparer le code métier de la partie "rendu". En l'occurence, tu dois faire ton traitement en amont dans le controleur de ton module, puis passer le retour de ce traitement en paramètre à ta vue (le template smarty) qui en fera la mise en forme (c'est sa seule responsabilité) 2 Link to comment Share on other sites More sharing options...
touslesitesauto Posted January 20, 2017 Author Share Posted January 20, 2017 Tout d'abord merci Johann ! Malheureusement ta réponse ne m'aide pas trop et j'avoue que je ne vois ce que je dois faire à partir des travaux déjà exécutés. Je dois créer un fichier "controller" où je mettrai tout mon code php, c'est cela ? Comment dois-je m'y prendre ? Sinon as-tu un exemple de ce qu'il faudrait faire pour récupérer depuis le hook footer, la variable $REMOTE_ADDR ou $_SERVER['HTTP_USER_AGENT'] ? Le reste sera sans doute plus simple à déduire... Mon architecture : Racine serveur > modules > > monmodule > > > install > > > > .htaccess > > > > index.php > > > > install.sql > > > > uninstall.sql > > > views > > > > templates > > > > > hook > > > > > > displayhook.tpl > > > config_fr.xml > > > index.php > > > logo.gif > > > logo.png > > > monmodule.php Link to comment Share on other sites More sharing options...
Johann Posted January 20, 2017 Share Posted January 20, 2017 ton controleur dans ton exemple, c'est le fichier "monmodule.php", avec un code similaire à ça : public function hookFooter($params) { $this->smarty->assign( array( 'navigateur' => $_SERVER['HTTP_USER_AGENT'] , 'ip' => $_SERVER["REMOTE_ADDR"], // d'autres trucs si tu veux... ) }; return $this->display(__FILE__, 'monmodule.tpl'); } et dans le fichier monmodule.tpl, tu peux exploiter les variables que tu recois : {if isset($ip) && $ip=='xxx.xxx.xxx.xxx'} C'est mon IP {else} C'est quelqu'un d'autre {/if} Vous utilisez le navigateur : {$navigateur} Link to comment Share on other sites More sharing options...
Mediacom87 Posted January 20, 2017 Share Posted January 20, 2017 Bonjour, surtout prenez le temps de lire les documentation officielles PrestaShop sur le sujet. après vous pouvez utiliser le caneva de base proposé par PrestaShop sur https://validator.prestashop.com/generator et si vous n'avez jamais développé de module commencez par de petites actions pour monter en puissance lorsque cela fonctionne. Link to comment Share on other sites More sharing options...
touslesitesauto Posted January 22, 2017 Author Share Posted January 22, 2017 Impeccable, j'ai donc adapté ma façon de faire et ça marche !! Je ne savais pas que l'on pouvait mêler des fonctions basiques php sur ces "public function". Merci à toi Johann Donc si j'ai bien compris, pour manipuler ces variables (ainsi obtenues à l'insu du visiteur... ou par le biais d'un formulaire après le clic de validation), je dois le faire dans le tpl du module? puis appeler le résultat (de la manipulation) dans le contoller via un : $nlle_variable= Tools::getValue('nlle_variable'); Je vais donc créer un compte via le lien fourni et m'entrainer donc Merci pour ton aide 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