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

Проблема с формированием списка товаров


Deemonikus

Recommended Posts

Доброго времени суток. Суть проблемы следующая:

Было внесено изменение в файл category.tpl с тем, чтобы товары отсутствующие на складе не отображались вообще. Но при этом разбивка на страницы осталась прежней, то есть, если, например, в категории 50 товаров, а в наличии из них есть только 5, то все равно скрипт постраничной навигации разбивает категорию на 3 страницы (20+20+10) и на каждой странице отображается 1, 2 или несколько товаров в зависимости от того на какой позиции находится товар.

Предполагается что все дело в массиве products, нужно изменить алгоритм его формирования, чтобы в него не попадали отсутствующие на складе товары. Как это сделать, подскажите пожалуйста?

Версия движка: ocStore v0.2.0

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


Предполагается что все дело в массиве products

да нет.. вы изначально решили задачу неверно, менять нужно не category.tpl, а методы model

getProducts() 
getTotalProducts()
Надіслати
Поділитися на інших сайтах

да нет.. вы изначально решили задачу неверно, менять нужно не category.tpl, а методы model

getProducts() 
getTotalProducts()

Изменил метод

getProducts()

public function getProducts() {
		$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, wcd.unit AS weight_class, [b]quantity[/b] FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "weight_class_description wcd ON (p.weight_class_id = wcd.weight_class_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.date_available <= NOW() AND p.status = '1' [b]AND quantity>'0'[/b]");

		return $query->rows;
	}
не помогло, что не так?

Метод

getTotalProducts()
не нашел.

Есть только getTotalProductsByCategoryId, getProductsByManufacturerId, getTotalProductsByManufacturerId

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


Изменил метод

getProducts()
не помогло, что не так?
не помогло в смысле паджинация не так работает? так за это отвечает getTotalProducts...()

Метод

getTotalProducts()
не нашел.

Есть только getTotalProductsByCategoryId, getProductsByManufacturerId, getTotalProductsByManufacturerId

видимо вам нужно getTotalProductsByCategoryId, вы сами в код то загляните и посмотрите какой метод вызывается.
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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