2012-02-01 8 views
0

こんにちは私の名前はミレラ、私はイタリア人です。私がGoogleの翻訳者を使っているので、私が書くように私は失礼します。 シンプルキャートを使用しますが、配送コストに問題があります。 私のクライアントには別の送料があります。このサイトは異なる重量のワインのボトルを販売します。 これは私の助けを借りて作成した関数ですが、私は重みと量の乗算を行います。それは動作しません 申し訳ありませんが、私はこのサイトに初めて書き込みを行い、良い英語は分かりません。送料=数量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

これにコードをマークアップできますか?これまでフォーマットした方法を読むのは非常に難しい – Flexo

+0

もう一つのこと:私はどのようにバスケットにボトルの総重量を入れることができますか?どのクラスを使うべきですか? – Lilli73

答えて

0

まず、質問をフォーマットした場合、特にコードの方がいいでしょう。より読みやすくします。

これを行うことでコードをほぼ半分にすることができます。

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

おそらく、本当の問題は、この行は、以下のすべての行が

あなたの体重チェックのすべてを使用する必要がありますを実行しないことを意味し

+0

申し訳ありませんが、私はこのサイトに初めて書き込みを行い、良い英語は分かりません。 – Lilli73

+0

問題ありません!ようこそサイトへようこそ英語を心配しないでください - それはいいです – paul

+0

親愛なる、タンク!カートのユーザークラスSHIPPINGCOASTに関数を挿入しますか?腕時計はありません!カートに入れることができますか? – Lilli73

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

:-)その後、ビット明らかになる< => =

例:

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

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

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

など

別送料

else 
// more than 300 
+0

SHIPPINGCOSTクラスを使用して、私のカートに機能を挿入しますか?可能な総重量を挿入できますか?可能だ? – Lilli73

+0

はい、 'var q = 0;'を削除して関数の外に置いた場合です。トランザクション間でリセットすることを忘れないでください。 – NibblyPig

0

機能を終了することができます。 問題Q(重量)重量X数量=総重量。正しいスクリプトですか?

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

'if((q> = 10000))'は '<='も使うべきだと思います。しかし、それは答えではなく、質問の編集でなければなりません。 –

関連する問題