Dragsun Posted November 26, 2020 Share Posted November 26, 2020 Bonjour, j'essaie de trouver une solution pour implémenter une requête SQL simple dans une page d'un Template sans passer par la création d'un module, est-ce que ce dernier est possible ? Et si non, vers quel coté de la création d'un module faut il que je me penches ? Merci a vous et bonne journée. Link to comment Share on other sites More sharing options...
HeineFR Posted November 26, 2020 Share Posted November 26, 2020 Peux tu être plus précis sur le genre de requête que tu veux faire et la page de Template en question que tu veux utiliser? Link to comment Share on other sites More sharing options...
Dragsun Posted November 27, 2020 Author Share Posted November 27, 2020 Rebonjour, désolé du retard, et basiquement je suis sur une page de Template classique personnalisée et j'aimerais savoir comment faire une requête SQL sur un click de bouton par exemple qui prendrais une valeur d'une table et l'afficher dans une div du site. Link to comment Share on other sites More sharing options...
HeineFR Posted November 27, 2020 Share Posted November 27, 2020 Sans avoir plus de précision je dirai qu'il faut : -Rajouter le bouton et la div dans le template -Rajouter l'evènement onclick en javascript qui effectue une requete ajax pour modifier le contenu de la div -Créer la fonction receptacle de la requete ajax Link to comment Share on other sites More sharing options...
Dragsun Posted November 27, 2020 Author Share Posted November 27, 2020 le soucis c'est que je ne peut pas faire de PHP car c'est du TPL et que en plus que ça je ne peut pas accéder en ajax au php car il ne trouve pas le fichier Link to comment Share on other sites More sharing options...
Dragsun Posted November 27, 2020 Author Share Posted November 27, 2020 Concrètement j'aimerait soit : -Faire passer du PHP en AJAX comme ça je peut intégrer intégralement mon code -Comprendre comment utiliser le Hook pour une requête SQL simple qui est le select Et ces 2 choses sont a faire a l'intérieur de mon fichier TPL. Link to comment Share on other sites More sharing options...
PrestashopUser03 Posted November 27, 2020 Share Posted November 27, 2020 Passer du php dans le fichier est impossible, cependant, tu peux créer un controller et une page custom sur laquelle va s'afficher ton code php. Voilà un très très bon tuto sur le sujet : https://www.eewee.fr/prestashop-creer-une-page-custom/ Link to comment Share on other sites More sharing options...
Rajameltine Posted November 28, 2020 Share Posted November 28, 2020 (edited) Bonjour, pour mettre un code PHP, le mieux est de passer par un module. Il y a pas mal de tuto pour créer un module simple sans code complexe(Google est ton ami😊). De là tu ajoutes des codes PHP et tu récupère les données via une variable smarty. Tu peux greffer ton module où tu veux dans les fichiers TPL. Edited November 28, 2020 by Rajameltine (see edit history) Link to comment Share on other sites More sharing options...
Dragsun Posted November 30, 2020 Author Share Posted November 30, 2020 ok merci a vous ! J'ai réussi après moultes heures a comprendre le fonctionnement, et la nature confuse de ma question. J'ai donc réussi et passes se poste en résolu ! Link to comment Share on other sites More sharing options...
jat Posted December 2, 2020 Share Posted December 2, 2020 Le 27/11/2020 à 12:21 PM, Dragsun a dit : Concrètement j'aimerait soit : -Faire passer du PHP en AJAX comme ça je peut intégrer intégralement mon code -Comprendre comment utiliser le Hook pour une requête SQL simple qui est le select Et ces 2 choses sont a faire a l'intérieur de mon fichier TPL. J'ai un exemple de création d'une page custom: https://github.com/jatniel/custom_page_prestashop Un exemple d'une requête sql : public function getTotal() { $sql = new DbQuery(); $sql->select('COUNT(id_manufacturer) as total'); $sql->from('manufacturer'); $sql->where('active = 1'); $total = Db::getInstance()->getValue($sql); return $total; } Ce requete sql vous pouvez inclure dans le contrôleur, et dans function initContent() vous pouvez l'ajouter au template tpl de cette façon : $this->context->smarty->assign('total', $this->getTotal()); Par exemple: $total = $this->getTotal(); $this->context->smarty->assign('Variable dans le fichier tpl', $total); Doc et exemple query dans Presta 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