Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль: дробное количество товара для opencart 1.5.3.1 maxystore


kolben

Recommended Posts

в файле по адресу systemlibrarycart.php найти код:

public function add($product_id, $qty = 1, $option = array()) {
	 if (!$option) {
	    $key = (int)$product_id;
	 } else {
	    $key = (int)$product_id . ':' . base64_encode(serialize($option));
	 }
	
  if ((int)$qty && ((int)$qty > 0)) {
	  if (!isset($this->session->data['cart'][$key])) {
		 $this->session->data['cart'][$key] = (int)$qty;
	  } else {
		 $this->session->data['cart'][$key] += (int)$qty;
	  }
  }
 
  $this->data = array();
   }
и заменить на :

public function add($product_id, $qty = 1, $option = array()) {
	 if (!$option) {
	    $key = (float)$product_id;
	 } else {
	    $key = (float)$product_id . ':' . base64_encode(serialize($option));
	 }
	
  if ((float)$qty && ((float)$qty > 0)) {
	  if (!isset($this->session->data['cart'][$key])) {
		 $this->session->data['cart'][$key] = (float)$qty;
	  } else {
		 $this->session->data['cart'][$key] += (float)$qty;
	  }
  }
 
  $this->data = array();
   }
Надіслати
Поділитися на інших сайтах

в файле по адресу systemlibrarycart.php найти код:

все работает!Спасибо!)

это не может работать =)))

я нашел 22 места в пяти файлах где нужно внести правки что бы можно было полноценно работать с дробным кол-вом товара.

  • +1 1
Надіслати
Поділитися на інших сайтах

это не может работать =)))

я нашел 22 места в пяти файлах где нужно внести правки что бы можно было полноценно работать с дробным кол-вом товара.

Риспект, может распишеш интерисующемуся человеку ?
Надіслати
Поділитися на інших сайтах

ну даже не знаю поменял то, что посоветовал ВАСО и все работает, обманывать мне не зачем)))

P.S. при заказе дробного количество единственное надо ставить точку (тогда работает), если ставить запятую то нет)) но это не страшно))

  • +1 1
Надіслати
Поділитися на інших сайтах


ну даже не знаю поменял то, что посоветовал ВАСО и все работает, обманывать мне не зачем)))

работает что всё ? добавление в корзину. так это далеко не всё.

укажите дробное наличие товара, дробное минимальное значение для покупки, проследите что после оформления со склада списалось и что в письмах именно это кол-во

Надіслати
Поділитися на інших сайтах

работает что всё ? добавление в корзину. так это далеко не всё.

укажите дробное наличие товара, дробное минимальное значение для покупки, проследите что после оформления со склада списалось и что в письмах именно это кол-во

для меня важно было только чтоб товар можно было заказать и оформить в дробном количестве. Списывать со склада, наличие в дробных числах и прочее мне не нужно было, т.к. opencart не использую для учета товара и прочего, а данные изменения это сделать позволяют.

Вы наверно правы то, что для полноценной работы надо внести изменения порядка 15-20. Но с теми задачами которые мне нужно было решить эти изменения справляются в полной мере.

Надіслати
Поділитися на інших сайтах


  • 8 months later...
  • 1 year later...

в файле по адресу \system\library\cart.php найти код:

public function add($product_id, $qty = 1, $option = array()) {
	 if (!$option) {
	    $key = (int)$product_id;
	 } else {
	    $key = (int)$product_id . ':' . base64_encode(serialize($option));
	 }
	
  if ((int)$qty && ((int)$qty > 0)) {
	  if (!isset($this->session->data['cart'][$key])) {
		 $this->session->data['cart'][$key] = (int)$qty;
	  } else {
		 $this->session->data['cart'][$key] += (int)$qty;
	  }
  }
 
  $this->data = array();
   }
и заменить на :

public function add($product_id, $qty = 1, $option = array()) {
	 if (!$option) {
	    $key = (float)$product_id;
	 } else {
	    $key = (float)$product_id . ':' . base64_encode(serialize($option));
	 }
	
  if ((float)$qty && ((float)$qty > 0)) {
	  if (!isset($this->session->data['cart'][$key])) {
		 $this->session->data['cart'][$key] = (float)$qty;
	  } else {
		 $this->session->data['cart'][$key] += (float)$qty;
	  }
  }
 
  $this->data = array();
   }
public function update($key, $qty) {
    if ((float)$qty && ((float)$qty > 0)) {
      $this->session->data['cart'][$key] = (float)$qty;
    } else {
  $this->remove($key);
}
 
$this->data = array();
  }
Про это забыл еще написать
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.