2012-02-01 6 views
0

Bonjour mon nom est Mirella et je suis italien. Excusez-moi car j'écris parce que j'utilise le traducteur de Google. Utilisez Simplecart mais j'ai des problèmes avec les coûts d'expédition. Mon client a des frais de port différents. Le site vendra des bouteilles de vin de poids différents. C'est la fonction que j'ai créée en utilisant votre aide mais je fais la multiplication entre le poids et la quantité. Cela ne fonctionne pas Ok. Désolé mais c'est la première fois que j'écris sur ce site et que je ne connais pas bien l'anglais.Expédition = Quantité Poids Simplecart

me.shipping = function() 
{ 
    var q = 0; 
    q += item.weight*item.quantity; 

    if(q <= 3000){ 
     return 19.00; 
    } 
    if((q >= 10000)) { 
     return 23.00; 
    } 
    if((q <= 20000)){ 
     return 24.00; 
    } 
    if((q <= 30000)){ 
     return 26.00; 
    } 
    if((q <= 50000)){ 
     return 32.00; 
    } 
    if((q <= 75000)){ 
     return 35.00; 
    } 
    if((q <= 100000)){ 
     return 39.00; 
    } 
} 
+0

Pouvez-vous baliser le code dans ce? Il est très difficile de lire la façon dont vous l'avez formaté jusqu'à maintenant – Flexo

+0

Autre chose: comment puis-je mettre le poids total des bouteilles dans le panier? Quelle classe devrais-je utiliser? – Lilli73

Répondre

0

Tout d'abord, ce serait bien si vous avez formaté votre question - en particulier le code. Le rend plus lisible.

Vous pourriez presque réduire votre code de moitié en faisant cela;

if(q <= 3000){ 
    return 19.00; 
} 
if(q <= 10000){ 
    return 23.00; 
} 
if(q <= 20000){ 
    return 24.00; 
} 
// ... and so on 

Peut-être que le vrai problème deviendra un peu plus clair alors :-)

+0

Ok. Désolé mais c'est la première fois que j'écris sur ce site et que je ne connais pas bien l'anglais. – Lilli73

+0

Pas de problème! Bienvenue sur le site et ne vous inquiétez pas pour l'anglais - c'est bon – paul

+0

chère, les chars! Insérer la fonction dans mon panier user class SHIPPINGCOAST? Aucune montre EXPÉDITION !!! Est-il possible d'insérer le poids total dans mon panier? – Lilli73

1
if((q >= 10000)) { 
    return 23.00; 
} 

Cette ligne signifie que toutes les lignes ci-dessous, il ne fonctionnera jamais

Tous vos chèques de poids devraient utiliser < = pas> =

par ex.

if (q <= 100) 
    // less than 100 

if (q <= 200) 
    // 101 to 200 

if (q <= 300) 
    // 201 to 300 

etc.

vous pouvez finir avec

else 
// more than 300 
+0

Pour insérer la fonction dans mon panier, en utilisant la classe SHIPPINGCOST? Est-il possible d'insérer le poids total? Est possible? – Lilli73

+0

Oui, si vous supprimez 'var q = 0;' et le placez en dehors de la fonction. N'oubliez pas de le réinitialiser entre les transactions. – NibblyPig

0

Fonction pour différentes expédition. Problème var Q pour le poids. Poids X Quantité = Poids total. Est-ce que le script correcty?

me.shipping = function() 
    { 
     var q = 0; 
     q += item.weight*item.quantity; 

    if(q <= 3000){ 
     return 19.00; 
    } 
    if((q >= 10000)) { 
     return 23.00; 
    } 
    if((q <= 20000)){ 
     return 24.00; 
    } 
    if((q <= 30000)){ 
     return 26.00; 
    } 
    if((q <= 50000)){ 
     return 32.00; 
    } 
    if((q <= 75000)){ 
     return 35.00; 
    } 
    if((q <= 100000)){ 
     return 39.00; 
    } 
} 
+0

Je pense que 'if ((q> = 10000))' devrait aussi utiliser <= '. Mais cela devrait être une modification à la question, pas une réponse. –