Успешные интернет-магазины начинаются здесь!

Модули и шаблоны для опенкарт, форумы техподдержки, сообщества OpenCart .

SignUp Now!

Нужна Ваша помощь!!!

Maks_On_4ik

New member
Помогите разобраться, пожалуйста!
Когда в товаре указана единица измерения "м.кв.", то количество добавляется правильно (с тремя знаками после запятой), а если указана, например, "шт.", то количество приобретаемого товара не меняется. Где гвоздь?)))
Код:
function quantity_up(obj_list) {

  if(<?php echo $sellunit == 'м.кв.' ?>){
    for(var i=0; i<obj_list.length; i++) {
      obj_list.value=(parseFloat(obj_list.value)+<?php echo $minimum; ?>).toFixed(3);   
    }
    return;
  }
 
    for(var i=0; i<obj_list.length; i++) {
      obj_list.value=(parseFloat(obj_list.value)+<?php echo $minimum; ?>).toFixed(0);   
    }
 
}
 

Maks_On_4ik

New member
Это какой то сторонний модуль?
Наверное! Функция прибавляет минимальное количество товара для заказа при нажатии на кнопку "+".
При этом, если минимальное количество дробное, т.е товар измеряется в квадратных метрах, то количество должно отображаться дробным числом с 3-мя знаками после запятой. ( этот кусок кода это выполняет


Код:
function quantity_up(obj_list) {
                                if(<?php echo $sellunit == 'м.кв.' ?>){
                                for(var i=0; i<obj_list.length; i++) {
                                  obj_list.value=(parseFloat(obj_list.value)+<?php echo $minimum; ?>).toFixed(3);   
                                }
                                return;
                             }
)
Если товар измеряется в штуках (не в квадратных метрах), то количество должно отображаться без дробной части.

Код:
for(var i=0; i<obj_list.length; i++) {
                                 obj_list.value=(parseFloat(obj_list.value)+<?php echo $minimum; ?>).toFixed(0);   
                                }
                           }
Вот и получается, что в товаре, который измеряется в квадратных метрах, верхний кусок кода работает, а в товаре где единица измерения отлична от квадратных метров - не работает вообще, нет ни какой реакции на нажатие кнопки.
 

Maks_On_4ik

New member
Наверное! Функция прибавляет минимальное количество товара для заказа при нажатии на кнопку "+".
При этом, если минимальное количество дробное, т.е товар измеряется в квадратных метрах, то количество должно отображаться дробным числом с 3-мя знаками после запятой. ( этот кусок кода это выполняет

function quantity_up(obj_list) {
if(<?php echo $sellunit == 'м.кв.' ?>){
for(var i=0; i<obj_list.length; i++) {
obj_list.value=(parseFloat(obj_list.value)+<?php echo $minimum; ?>).toFixed(3);
}
return;
}
)
Если товар измеряется в штуках (не в квадратных метрах), то количество должно отображаться без дробной части.


for(var i=0; i<obj_list.length; i++) {
obj_list.value=(parseFloat(obj_list.value)+<?php echo $minimum; ?>).toFixed(0);
}
}
Вот и получается, что в товаре, который измеряется в квадратных метрах, верхний кусок кода работает, а в товаре где единица измерения отлична от квадратных метров - не работает вообще, нет ни какой реакции на нажатие кнопки.


Если убрать проверку if то всё работает, только количество товара отображается одинаково в любом случае, будь-то метры квадратные или штуки.
 
Сверху