Автор Тема: Скрыть товары у которых цена 0  (Прочитано 2271 раз)

26 Декабрь 2020, 21:46:22
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем привет.
Нужно скрыть все товары у которых цена 0. В каком файле происходит формирование списка товаров из БД?
27 Декабрь 2020, 00:25:41
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 22086
  • Репутация: +25302/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Версия prestashop какая?
Для prestashop 1.6 на форме писали как скрывать товары с нулевым количеством.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
27 Декабрь 2020, 10:34:22
Ответ #2
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
версия prestashop 1.7
Я пробовал скрыть товары с 0 ценой в файле products.tpl. Да все скрывает, но пагинация отображается не корректно. Показывает количество страниц на все товары (включая и те которые с нулевой ценой). Я или не в том файле прописываю условие или нужно добавить где то какое то условие и для пагинации.
27 Декабрь 2020, 12:10:48
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 22086
  • Репутация: +25302/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Для prestashop 1.7, чтобы не показывать товары с нулевым количеством, нужно внести изменения в шаблон
/тема/catalog/_partials/miniatures/product.tpl
{block name='product_miniature_item'}
    {if $product.quantity > 0}
        ...
    {/if}
{/block}
Меняя условие можно исключать из показа нужные товары.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
27 Декабрь 2020, 14:58:42
Ответ #4
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ваш код применил, он спрятал все товары которые не соответствуют условию. Но количество страниц выводится как для 1000 товаров (например), а не для того количества товаров которое осталось после применения условия. Если открыть последние страницы там просто пустота.
28 Декабрь 2020, 12:01:03
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 22086
  • Репутация: +25302/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
У вас модуль для фильтров установлен?
Так бывает когда установлен модуль фильтров. В этом модуле тоже нужно вносить изменения.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
28 Декабрь 2020, 13:33:11
Ответ #6
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Какие изменения нужно вносить? В какой файл?
28 Декабрь 2020, 17:40:19
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 16478
  • Репутация: +14625/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Какой модуль для фильтров установлен?
28 Декабрь 2020, 18:32:35
Ответ #8
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Все пересмотрел, не каких установленных модулей фильтров нет.
28 Декабрь 2020, 18:44:56
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 1574
  • Репутация: +30/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Для prestashop 1.7 с дефолтной темой модуль фильтров ps_facetedsearch. У вас может быть другой  AS4 или ...
28 Декабрь 2020, 19:36:22
Ответ #10
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тема стандартная. Пробовал в этом модуле вносить изменения, но не каких изменений. Он или не задействован или я что то не правильно делаю.
28 Декабрь 2020, 20:02:19
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 33313
  • Репутация: +26770/-0
    • Просмотр профиля
В prestashop 1.7.... в tpl уже не сделать. Менять нужно в контроллере ProductListingFrontController.php
28 Декабрь 2020, 20:12:33
Ответ #12
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да есть такой файл. Что именно в нем нужно изменить и где?
29 Декабрь 2020, 13:06:22
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 1273
  • Репутация: +12/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В классе Category.php в методе getProducts в sql запросы добавьте условие
WHERE  ....  AND p.price <> 0
29 Декабрь 2020, 18:28:25
Ответ #14
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В методе getProducts два sql запроса, подставляю туда условие и не чего не происходит. Можете показать как правильно вставлять дополнительное условие в where