Sarah Yuna Posted May 12, 2023 Share Posted May 12, 2023 (edited) Bonjour la communauté J'ai travaille sur le prestashop 1.7 d'un client. Quand il a fait la dernière mise à jour (vers 1.7.8.7), une fonctionnalité personnalisée n'a pas suivie, et je suis chargée de réparer ça. Ce n'est pas développé dans un module, mais c'est codé dans le thème + override Là où j'en suis, c'est que j'ai l'impression que la fonction qui modifie la base de donnée n'est pas appelée : class CartController extends CartControllerCore { public function displayAjaxAddDonation() { $donation_amount = Tools::getValue('donation_amount'); $cart = $this->context->cart->id; if (Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'cart_donation WHERE id_cart ='.$cart)) { Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'cart_donation(id_cart, donation) VALUES('.$cart.', '.$donation_amount.')'); } die('ok'); } } C'est dans le fichier override/controllers/front/CartController.php Comment être sûre que la fonction est appelée ? Et pourquoi elle n'insère pas les données dans la base ? Si vous avez des pistes, je vous remercie ! Edited June 2, 2023 by Sarah Yuna (see edit history) Link to comment Share on other sites More sharing options...
Sarah Yuna Posted May 30, 2023 Author Share Posted May 30, 2023 Je me réponds à moi-même puisque j'ai trouvé la solution (ou plutôt la source du problème) Il y avait bien un problème dans l'appel d'ajax. Ce bout de javascript est inséré dans un fichier du thème : $.ajax({ type:"POST", url: "{$urls.pages.cart}", data: { ajax: 1, action: 'addDonation', donation_amount: montant }, success: function(data, textStatus, jqXHR) { if(data == "ok"){ $('#add-donation').click(); $('#thank-donation-message').fadeIn(); $('#donation').fadeOut(); }else{ alert(data) } }, error: function(jqXHR, textStatus, errorThrown) { alert('Une erreur AJAX est survenue.') } Et je tombe sur la condition d'erreur "Une erreur AJAX est survenue". Cela arrive seulement sur ma machine virtuelle. Si j'enlève le paramètre ajax: 1 Dans data, je n'arrive plus sur l'erreur, mais cela empêche le fonctionnement normal. Est-ce que quelqu'un sait comment résoudre ce problème ? Merci Link to comment Share on other sites More sharing options...
Sarah Yuna Posted June 2, 2023 Author Share Posted June 2, 2023 Problème résolu. L'appel ajax se faisait sur une fonction qui ajoutait un enregistrement dans une table qui n'existait pas. En ajoutant la table, cela a résolu le problème 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