Доставка = Количество Вес Simplecart - PullRequest
0 голосов
/ 01 февраля 2012

Здравствуйте, меня зовут Мирелла, и я итальянка.Извините, когда я пишу, потому что я использую переводчик 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; 
    } 
} 

Ответы [ 3 ]

1 голос
/ 01 февраля 2012
if((q >= 10000)) { 
    return 23.00; 
} 

Эта строка означает, что все строки под ней никогда не будут выполняться

Все ваши проверки веса должны использовать <= </strong> not> =

например.

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

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

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

и т. Д.

Вы можете закончить с

else
 // more than 300
0 голосов
/ 02 февраля 2012

Функция для различной доставки. Задача var 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 голосов
/ 01 февраля 2012

Во-первых, было бы неплохо, если бы вы отформатировали свой вопрос - особенно код.Делает его более читабельным.

Вы можете почти вдвое сократить свой код, сделав это;

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

Возможно, реальная проблема станет немного яснее: -)

...