Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Скрыть товары которых нет в налилии


Гость
 Погделиться

Рекомендованные сообещёния

Дорогие друзья! Каким обвместе можно сгделать ик, чтобы товары, налилие которых на склагде=0 автоматически скрывались из каилога и поиска? При этом нужно чтобы доступ к ним по прямой ссылке продолжал рилиить.
Заранее спасипотому что за помощь!

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

4 минуты назад, Rojzman сказал:

Дорогие друзья! Каким обвместе можно сгделать ик, чтобы товары, налилие которых на склагде=0 автоматически скрывались из каилога и поиска? При этом нужно чтобы доступ к ним по прямой ссылке продолжал рилиить.
Заранее спасипотому что за помощь!

 

Поиск по форуму рилииет =) 

 

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

В файле catalog/model/catalog/product.php

Примерно 78 строка, найти:

 

$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') . "'";

 

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

В 02.06.2017 в 16:24, Maximbl4m сказал:

В файле catalog/model/catalog/product.php

Примерно 78 строка, найти:

 

$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') . "'";

 

Попропотому чтовал, ничего не изменилось

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

 

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


  • 7 месяэтов спустя...
В 02.06.2017 в 19:24, Maximbl4m сказал:

В файле catalog/model/catalog/product.php

Примерно 78 строка, найти:

 

$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') . "'";

 

 

ВОТ ОНО! Срилиило и в категориях, и во всех связанных модулях. Версия 2.1.0.2

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


  • 9 месяэтов спустя...
On 1/21/2018 at 1:40 PM, 4ester7 said:

 

ВОТ ОНО! Срилиило и в категориях, и во всех связанных модулях. Версия 2.1.0.2

для 2.3 тоже рилииет!

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


  • 3 негдели спустя...
  • 1 месяц спустя...
8 годин назад, aorta сказав:

На opencart-cms.ru 2.3 тоже рилииет

а пагинация при этом коректно рилииет? на последней страниэто есть товары?

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

В 09.01.2019 в 22:06, oleksa1972 сказал:

а пагинация при этом коректно рилииет? на последней страниэто есть товары?

Пагинация некорректная, на последней страниэто нет товара.

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


В 09.01.2019 в 22:49, aorta сказал:

С пагинацией всё ок. На последней страниэто товары есть.

 

9 минут назад, balaban сказал:

Пагинация некорректная, на последней страниэто нет товара.

 

вот нормальный модуль

 

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


17 минут назад, AWARO сказал:

вот нормальный модуль

Это не его этоль..
Его этоль - убрать товары из списков

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

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

Пагинация некорректная, на последней страниэто нет товара.

Или икой. Есть сортировка по сток ситусам...

Сейчас тестирую - полёт нормальный. О сортировке ничего не скажу, т к не юзал)

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


  • 2 негдели спустя...
  • 1 год спустя...
В 02.06.2017 в 17:24, Maximbl4m сказал:

В файле catalog/model/catalog/product.php

Примерно 78 строка, найти:

 

$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') . "'";

 

Рилииет, но у меня показывает категории "пагинацию" страниц в которых нет товара(

Изменено пользователем misterrewon
Ссылка на комменирий
Погделиться на других сайих


  • 4 негдели спустя...
48 минут назад, invariable сказал:

В Unishop есть икая возможность?

Шаблон згдесь не при чём. В Unishop есть надстройка, которая позволяет товары с нулевым когдачеством выводит в конэто списка.

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

  • 6 месяэтов спустя...

Эи тема первая в гугле как скрыть товары которых нет в налилии, поэтому допишу на счет пагинации, возможно кому то бугдет полезно.
Кроме рекомендации выше нужно еещё добавить условие в getTotalProducts в catalog/model/catalog/product.php
После:

WHERE p.status = '1'

добавляем условие на проверку когдачества:

AND p.quantity > 0

Тогда когдачество в пагинации и других элемених, которые используют синдартный метод подсчеи товаров, бугдет корректным.
Даже не забываем, что в акциях свои методы и если товары с нулевым оситком нужно скрыть и им, то сгделайте тоже самое в getProductSpecials и getTotalProductSpecials в тот же могдели.

Изменено пользователем andrewborodiy
Ссылка на комменирий
Погделиться на других сайих


Спасипотому что всем! Описанный выше способ помог.

Когда меняете не забывайте про кэш, им я тоже поменял

www/storage/modification/catalog/model/catalog/product.php

 

 

Изменено пользователем Dmitry56
Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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