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

Recommended Posts

Здравствуйте, не могу понять что я делаю не так. В файле /catalog/controller/product/category.php указана сортировка по умолчанию:

if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
		} else {
			$sort = 'p.sort_order';
		}

В каждом файле во вкладке Данные я указал всем товарам свой номер сортировки. И все работает чудесно, но как только какой то товар продается и у него количество стает на 1 шт меньше чем у других, он опускается по списку ниже.

Выходит что сортируется по моим данным, но сначала сортирует по остаткам.

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


2 минуты назад, Snoop3000 сказал:

Здравствуйте, не могу понять что я делаю не так. В файле /catalog/controller/product/category.php указана сортировка по умолчанию:


if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
		} else {
			$sort = 'p.sort_order';
		}

В каждом файле во вкладке Данные я указал всем товарам свой номер сортировки. И все работает чудесно, но как только какой то товар продается и у него количество стает на 1 шт меньше чем у других, он опускается по списку ниже.

Выходит что сортируется по моим данным, но сначала сортирует по остаткам.

Смотреть нужно не только на ту строку а на сам запрос который собирает товары на вывод

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

Вот этот метод модели собирает товары на вывод

$this->model_catalog_product->getProducts

Вот в его метод внутри и загляните что и как он собирает на вывод

Змінено користувачем Venter
Надіслати
Поділитися на інших сайтах

if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
			if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
				$sql .= " ORDER BY p.quantity DESC, LCASE(" . $data['sort'] . ")";
			} elseif ($data['sort'] == 'p.price') {
				$sql .= " ORDER BY p.quantity DESC, (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
			} else {
				$sql .= " ORDER BY p.quantity DESC," . $data['sort'];
			}
		} else {
			$sql .= " ORDER BY p.quantity DESC, p.sort_order";
		}

Если я правильно понял, то ocFilter добавил вывод сначала по количеству, а потом по моему номеру, верно? В правильно месте я нашел?

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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