2017-02-14 14 views
0

У меня нет большого опыта работы в js. Я хочу создать переменную PRODUCTID, попавшая в идентификатор продукта, а затем это переменное использование вКод продукта в javascript

$('#quantity_wanted_'+ productId +').change(); 

Как я могу это сделать?

<script type="text/javascript">// The button to increment the product value 
    //var allowBuyWhenOutOfStock = false; 

    $(document).on('click', '.product_quantity_up', function(e){ 
     var productId = 6; 
     e.preventDefault(); 
     fieldName = $(this).data('field-qty'); 
     var currentVal = parseInt($('input[name='+fieldName+']').val()); 
     if (!allowBuyWhenOutOfStock && quantityAvailable > 0) 
      quantityAvailableT = quantityAvailable; 
     else 
      quantityAvailableT = 100000000; 
     if (!isNaN(currentVal) && currentVal < quantityAvailableT) 
      $('input[name='+fieldName+']').val(currentVal + 1).trigger('keyup'); 
     else 
      $('input[name='+fieldName+']').val(quantityAvailableT); 

     $('#quantity_wanted_'+ productId +').change(); 
    }); 
    // The button to decrement the product value 
    $(document).on('click', '.product_quantity_down', function(e){ 
     var productId = 7; 
     e.preventDefault(); 
     fieldName = $(this).data('field-qty'); 
     var currentVal = parseInt($('input[name='+fieldName+']').val()); 
     if (!isNaN(currentVal) && currentVal > 1) 
      $('input[name='+fieldName+']').val(currentVal - 1).trigger('keyup'); 
     else 
      $('input[name='+fieldName+']').val(1); 

     $('#quantity_wanted_'+productId+').change(); 
    }); 
</script> 
+0

Просьба пояснить подробнее –

+0

Я не знаю, как читать переменную из php и использовать ее в javascript. – user3531797

+0

У вас не должно быть '+ '' после 'productId'. – Barmar

ответ

0

В Smarty вы можете определить переменную javascript.

Если вы посмотрите на дне product.tpl файла вы увидите этот вид линии:

{addJsDef customizationId=$id_customization} 
{addJsDef customizationFields=$customizationFields} 
{addJsDef default_eco_tax=$product->ecotax|floatval} 

Эти переменные помещаются в головной части ваших веб-сайтов перед загрузкой файлов JavaScript. Таким образом, он доступен из любого файла javascript.

Вы можете добавить productId переменную в конце product.tpl шаблона с другой:

{addJsDef productId=$product->id} 

На моей теме переменная с именем id_product уже существует, она может быть доступна в вашей теме также:

{addJsDef id_product=$product->id|intval} 
+0

Полезно знать. У меня есть этот код в product-list.tpl, где много продуктов. Когда я создаю/устанавливаю {addJsDef id_product = $ product-> id | intval}, я получил 0. Проверьте ссылку http://prestashop.suszek.info/3-women – user3531797

0

Вам нужно создать/установить productId в TPL:

{addJsDef productId=$id_product} 

Удачи.