Skip to main content

Ajouter produit au panier grâce a ajax

More
9 years 3 months ago #272895 by Krok
Bonjour, je vien sur le forum car j'ai vraiment bessoin d'aide.
J'ai un modal fait avec bootstrap qui me permet de customizer Les produits, quand je clique sur le button "terminate" du modal je voudrais que Le produit "customize" soit ajouté au panier.
J'ai déjà essayer avec un script externe qui est exécuté par ajax qui permet d'ajouter Le produit au panier sauf que j'avais oublié que l'ID de l'utilisateur ne se transmettait pas donc Le produit ne s'ajoute pas donc je vien vous poser ma question: comment puis-je ajouter le produit "customization" quand on clique sur "terminate"?
Merci de vos future réponses

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago #272910 by Jerome
Bonjour,

Je suis navré mais je ne comprends pas votre message.
De quel "ID" d'utilisateur parlez vous ? Quel est ce bouton "terminate" ? Quel est le contexte ?
Merci de fournir une explication nettement plus complète permettant de comprendre de quoi vous parlez et merci de fournir les informations demandez à la création d'un sujet sur notre forum ; en commencent par la numéro de version que vous utilisez !

Cordialement,

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago #272934 by Krok
Hikashop version: 3.1.1
Joomla version: 3.7.2
Php version: 7.0.20

Bonjour Jerome, merci de m'avoir répondu,donc voici mon modal:

Attachment not found


en bas, il y a un bouton terminate et je voudrai que quand l’utilisateur clique sur celui-ci le produit "Customization" soit ajouté au panier, j'ai déjà testé avec ajax sur un fichier externe avec le code:
Code:
<?php define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT']); include(JPATH_BASE.'/includes'.DS.'defines.php' ); include ( JPATH_BASE .'/includes'.DS.'framework.php' ); require($_SERVER['DOCUMENT_ROOT'].'/libraries/joomla/factory.php'); if(!@include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php')){ return false; } function hikashop_addfalseproducttocart($p1, $p2){ $cartclass = hikashop_get('class.cart'); $cartclass->update($p1, $p2); return 'Cart seted'; } if(isset($_POST['func'])){ switch($_POST['func']){ case 'atc': hikashop_addfalseproducttocart($_POST['param1'], $_POST['param2']); break; } } ?>
mais le produit ne s'ajoute pas surement car il n'y a aucun utilisateur auquel ajouter le produit?
J'ai aussi essayé avec le code javascript du bouton "Ajouter au panier" mais celui-ci ne fonctionne pas donc j'en viens vers vous pour demander de l'aide
Merci de votre réponse rapide

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago #272958 by nicolas
Bonjour,

Le code de ce script est bon. Mais comment appelez vous ce script ? Quelle URL ou quel code est sur le bouton qui appelle ce script ?

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago - 9 years 3 months ago #273010 by Krok
Bonjour nicolas merci de m'avoir répondu j'utilise une requête ajax qui va exécuter le script voici la requete:
Code:
jQuery('.custom-plug_terminatecustomization').off().on('click', function(){ jQuery.ajax({ url: '/ajaxrequest/hikashop_externalfolder.php', type: 'POST', data: {func: 'atc', param1: '24', param2: '1'}, success: function(data){ console.log('EXECUTED: ' + data); }, error: function(xhr){ console.log('Error: ' +xhr.responseText); } }); });
Last edit: 9 years 3 months ago by Jerome. Reason: [code] tag is nice !!

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago #273039 by nicolas
Hi,

De ce que je vois, le problème est avec la ligne:
Code:
hikashop_addfalseproducttocart($_POST['param1'], $_POST['param2']);
il faut que ce soit:
Code:
echo hikashop_addfalseproducttocart($_POST['param1'], $_POST['param2']);
Sinon, le texte "Cart seted" ne sera jamais retourné au javascript.

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago #273041 by Krok
Bonjour, merci de votre réponse, je vais tester mais j'ai une autre question la requete ajax est t'elle bonne ? car je l'utilise dans la function onHikashopBeforeDisplayViews dans un plugin

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago - 9 years 3 months ago #273046 by Krok
Je viens de tester mais le problème est toujours là quand j'appuie sur le bouton la requete ajax m'indique que le script à été exécuté mais le produit ne s'ajoute toujours pas même après rafraichissement de la page.
La requete ajax affiche "Exe: " dans la console.
Pour mettre un produit au panier il ne faudrait pas l'id de l'utilisateur (de la personne qui appuie sur le bouton) ??
Si oui ça voudrai dire qu'il faudrait que je transmette l'id dans le script pour après la réutilisé mais le problème c'est que si je fais ça comment je donne l'id au $cartClass->update();
Last edit: 9 years 3 months ago by Krok.

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago - 9 years 3 months ago #273043 by nicolas
Cela fonctionne chez moi en tout cas (bien sur, j'ai adapté pour l'id du produit et le dossier des fichiers à charger, mais sinon cela fonctionne).

Le système n'a pas besoin de l'id de l'utilisateur et Joomla ouvre normalement la session utilisateur automatiquement lorsque vous le chargez donc HikaShop sait déjà qui vous êtes.

Par contre, c'est vrai qu'il vous manque ce code:
$app = JFactory::getApplication('site');
$app->initialise();
avant le chargement d'HikaShop.
www.simbunch.com/blog/141-instantiate-in...n-an-external-script
Last edit: 9 years 3 months ago by nicolas.

Please Log in or Create an account to join the conversation.

Time to create page: 0.245 seconds
Powered by Kunena Forum