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

Вывод статуса товара в категории


Druser

Recommended Posts

В общем у меня есть 2 статуса товара ( На заказ) ( Готов к отправке)  естессно зависит все от количества товара. 

image.png.00098e13f3528153ca16fc247a1649db.png и image.png.41e1dcb335b40ee8b9c2cc839e53bce2.png

Вот код вывода его в карточке товара 
Контроллер

if ($product_info['quantity'] <= 0) {
				$data['stock'] = $product_info['stock_status'];
			} elseif ($this->config->get('config_stock_display')) {
				$data['stock'] = $product_info['quantity'];
			} else {
				$data['stock'] = $this->language->get('text_instock');
			}

В TPL

<li class="stock<?php if(isset($quantity) && $quantity <= 0) { echo " minus"; } ?>"><i class="fa fa-circle" aria-hidden="true"></i> <?php echo $stock; ?></li>

Теперь очень шаманским, костыльным и ужасным методом я просто копирую этот код в контроллер категорий , подключая туда же модель каталог/продукт
но вот такая ошибка вылетает image.png.3ec8b2994ba243483e4538079516138e.png Как понимаю код не может выдернуть данные по количеству, или я что то тупанул

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


5 часов назад, Prooksius сказал:

в категории такого нет, если не определить самостоятельно

Определил вот так , 

$this->load->model('catalog/product');
				if (isset($this->request->get['product_id'])) {
					$product_id = (int)$this->request->get['product_id'];
				} else {
					$product_id = 0;
				}
				$product_info = $this->model_catalog_product->getProduct($product_id);

				if ($product_info) {
					$url = '';

 

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


16 минут назад, Druser сказал:

$this->request->get['product_id']

в категории и такого нет, это же не страница товара, а именно категории

 

Надо все ваши манупуляции проводить в цикле прохождения по всем товарам категории
Там будет и product_id, и уже сформированный $product_info, правда называется подругому - $result

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

57 минут назад, Prooksius сказал:

в категории и такого нет, это же не страница товара, а именно категории

 

Надо все ваши манупуляции проводить в цикле прохождения по всем товарам категории
Там будет и product_id, и уже сформированный $product_info, правда называется подругому - $result

А подскажите как это сделать, я только изучаю php и Опенкарт, а это все делаю в рамках практики , не для заказа

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


1 час назад, Prooksius сказал:

в категории и такого нет, это же не страница товара, а именно категории

 

Надо все ваши манупуляции проводить в цикле прохождения по всем товарам категории
Там будет и product_id, и уже сформированный $product_info, правда называется подругому - $result

Реализовал вот так 
 

if ($result['quantity'] <= 0) { 

				$data ['stock'] = $result['stock_status'];
				} 
					elseif ($this->config->get('config_stock_display')) {
						$data ['stock'] = $this->language->get('text_instock');
				} 
				else {
					$data ['stock'] = $this->language->get('text_stock');
				}

Но если в категории хоть у одного товара будет 0 количество, то и у всего товара будет статус На заказ, даже если у него количество 100

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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