2013-12-21 2 views
-1

В настоящее время мой продукт с товаром добавлен в корзину с помощью кнопки и скрипта функции ниже. Я могу отправить product_id, & количеству в корзину и это прекрасно работает.Как отправить параметр цены на opencart

Как я могу отрегулировать цену? Я немного смущен этим, потому что цена может измениться. Я всегда хочу добавить product_id = 40 в корзину, но хочу изменить цену в соответствии с другими параметрами, которые будут отправлены. Я попробовал, добавив цену, как это: addToCart(product_id, quantity, price), а затем <a onclick="addToCart('40','1', 100);" class="button"> but that only seemed to increase the quantity and not the price.

кнопку, которая запускает функцию addToCart при нажатии:

<a onclick="addToCart('40','1');" class="button"> 
<button style="background:#990000;color:#fff">Order Now</button></a> 

мой сценарий:

<script> 
function addToCart(product_id, quantity) { 
    quantity = typeof(quantity) != 'undefined' ? quantity : 1; 
     console.log('Testing console values'); 
     console.log(window.result); 
     console.log(window.quantity); 
     console.log(window.product);  
     console.log(window.selectedStringName); 
     console.log(window.selectedString); 
     console.log(window.product_name); 

    $.ajax({ 
     url: 'http://****.com/purchase/index.php?route=checkout/cart/add', 
     type: 'post', 
     data: 'product_id=' + product_id + '&quantity=' + quantity, 
     dataType: 'json', 
     success: function(json) { 
      $('.success, .warning, .attention, .information, .error').remove(); 

      if (json['redirect']) { 
       location = json['redirect']; 
      } 

      if (json['success']) { 

       window.location='http://***.com/purchase/index.php?route=checkout/cart'; 

       // $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); 
       //    
       //    $('.success').fadeIn('slow'); 
       //    
       //    $('#cart-total').html(json['total']); 
       //    
       //    $('html, body').animate({ scrollTop: 0 }, 'slow'); 
      } 
     } 
    }); 
} 
</script> 

спасибо за любую помощь в этом.

+0

как вы хотите, чтобы ваша цена изменилась .. по каким параметрам? ваша функция 'addToCart' принимает только два аргумента, то почему вы ожидаете, что она что-то сделает, когда вы передадите третий аргумент' price'? если вы просто хотите отправить произвольную цену, вы должны добавить некоторую обработку на сервер, чтобы проверить цену. Извините, но ваш вопрос плохо объяснен. –

+0

спасибо. Я изменил функцию так, чтобы она взяла: data: product_id = '+ product_id +' & quantity = '+ quantity +' & price = '+ price, а затем добавила но это не сработало. цена рассчитывается в другом месте. здесь, хотя я просто добавил его как «100» в качестве третьего параметра в code – user2588945

+0

вы все еще не ответили на мой вопрос .... по каким параметрам вы хотите изменить свою цену или просто хотите отправить произвольную цену в корзину? –

ответ

2

Отправляющюю цену с JavaScript совершенно неправильно!

Рассмотрите эту ситуацию: вы продаете iMacs и MacBooks. Скажем, базовая цена для одного iMac составляет $ 1.200, но в соответствии с некоторыми настройками вы хотите, чтобы цена изменилась до $ 1,699. Таким образом, Вы должны были бы это в HTML:

<a onclick="addToCart(14, 1, 1699);">Buy this iMac</a> 

Теперь кто-то вроде меня (который всегда смотрит также в код) заметит это - наша обязанность, чтобы попытаться открыть наш инструмент веб-разработчиков и манипулировать цена, поэтому мы изменим HTML к этому:

<a onclick="addToCart(14, 1, 1);">Buy this iMac</a> 

Если он будет работать, как Вы полагаете, я смогу купить $ 1,699 ИМАКА по цене $ 1 и в соответствии с законодательством Вы должны отправить его. ..

Так что вам действительно нужно, чтобы рассчитать цену соответственно , но в бэкэнде, так что никто не может манипулировать конечной ценой продукта ...

Смежные вопросы