Перейти к содержанию
pika4u

Нужен модуль\хак изменяющий логику отображения товаров с нулевым остатком

Рекомендуемые сообщения

Здравствуйте!

необходим модуль\хак чтобы товар с остатком равным '0' и статусом 'нет в наличии' не отображался ни в каталоге ни в поиске но был доступен по прямой ссылке из поисковых систем

или какую-нибудь отдельную опцию "Показывать отключенный товар по прямой ссылке"  в админке\карточке товара сделать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в настройках сеопро сделайте сайт/товар (без категорий в ссылке товара) 

и создайте внутреннюю выключенную категорию, например: нет в наличии

Как только товар заканчивается, убираете его из всех категорий и вешаете на категорию "нет в наличии"

так товар будет доступен только по прямой ссылке

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@pika4u hyper_status.ocmod.xml

 

создаёте статус товара - к примеру снят с производства
у которого id 9
как только товар с таким статусом станет равным 0
будет доступен только по прямой ссылке

в поиске останется
доп запрос не лишний

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, niger сказал:

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

я это не осилю скорей всего.

попробовал так

79 строчку ../catalog/model/catalog/product.php

$sql .= " 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) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";

заменил на

$sql .= " 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) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.quantity > 0 AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";

товар пропал из каталога и поиска

и 436 строку (вроде как подсчет количества в каталоге)

$sql .= " 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) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";

заменил на

$sql .= " 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) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' p.status = '1' AND p.quantity > 0 AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";

но количество не уменьшается (товар который не видим считается)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
24 минуты назад, AWARO сказал:

@pika4u hyper_status.ocmod.xml

 

создаёте статус товара - к примеру снят с производства
у которого id 9
как только товар с таким статусом станет равным 0
будет доступен только по прямой ссылке

в поиске останется
доп запрос не лишний

взял создал статус 5-тый статус в hyper_status.ocmod.xml

изменил 9 на 5 установил получилась чипуха откуда то берутся несуществующие товары без названия, цены, фото и товары и в одной категории все товары из других категорий

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у созданного вами статуса должен быть id 9
т.е. в модификаторе такой же
я года два пользуюсь им - того что вы описываете ни разу небыло ни на одном проекте
чего вы там с 9 на 5 изменили хз
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, AWARO сказал:

у созданного вами статуса должен быть id 9
т.е. в модификаторе такой же
я года два пользуюсь им - того что вы описываете ни разу небыло ни на одном проекте
чего вы там с 9 на 5 изменили хз
 

Короче работает) благадарю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.