2012-06-26 2 views
1

Vous pouvez consulter le magasin de test, je l'ai mis en place à http://pagac-group2595.myshopify.com/collections/monday (login avec le pass « euthuy »)Shopify ajax api ajoutant le nombre d'articles mal

Nous essayons d'utiliser les ajax api avec le directions ici (http://wiki.shopify.com/Ajax_API#You.27re_building_a_quick_order_form.3F_Beware) aux choses de $ .post(). Si vous tirez votre console, ajoutez quelques produits (presque tous les produits sur la page sont $ 2.50, pour référence) et utilisez le bouton gris "cliquez pour soumettre" en haut à droite de la page, vous pouvez voir que je Je me déconnecte de tous les champs et ils semblent être corrects mais quand je reçois la demande de xhr, je ne vois pas ce que je pensais y mettre. Même en laissant des éléments vides, il semble toujours y avoir au moins 1 paquet d'anniversaire , 2 mooberry, 2 migraine lundi, et au moins un de tout le reste. (Je n'ai jamais pensé que je me plaindrais de trop de cupcakes.)

Lorsque vous évaluez $ ('input [data-title = "Mooberry"]'). Val(); à partir de la console, vous obtiendrez la valeur prévue (tout ce qui est dans le champ de formulaire) mais quand je le soumets, j'obtiens une réponse disant que j'ai soumis la quantité de 2.

Je ne suis pas vraiment sûr de ce que je suis faire mal ici, les données semblent aller dans bien par js, mais les réponses que je reçois ne sont pas ce que je pense que je suis en train de.

Merci beaucoup,

Répondre

1

Je ne suis pas sûr de ce que le problème racine était ici mais je l'ai résolu en ajoutant une condition où il vérifiait une quantité supérieure à zéro.

Shopify.queue = []; 

jQuery('.quantity-field').each(function() { 
    var quantity = parseInt(jQuery(this).val(), 10); 
    //make sure that more than 0 items are requested 
    if (quantity > 0) { 
     Shopify.queue.push({ 
      variant_id: jQuery(this).attr('data-variant'), 
      quantity_amount: quantity, 
      cupcake_title: jQuery(this).attr('data-title') 
     }); 
    } 
}); 

Quoiqu'il en soit, je serais curieux de savoir pourquoi ajouter 0-quantité d'un article au panier fait aller dans le panier du tout. Cette fonctionnalité est reproductible si vous simplement effectuer les opérations suivantes dans la console:

Shopify.add(a_valid_variant_id, 0, foo); 

la réponse Examinez ensuite de Shopify.cart();

Est-ce un bug sur la fin de Shopify?

+0

En effet, c'est le comportement! Bon oeil. –

Questions connexes