Инфо Исключить показ определенной категории в blocknewproducts

Тема в разделе "PrestaShop", создана пользователем yuazakharov, 16 ноя 2015.

Информация :
Хочешь в разделе без проблем общаться - прочти правила, чтобы потом с форумом на время не прощаться. Читать обязательно!
Внимание! Читайте внимательно правила!Предупреждения выдаются без всяких вопросов. Нарушил - получил. Будьте Внимательнее! Постинг нескольких постов подряд приравнивается к НАРУШЕНИЮ! Будьте вежливы и соблюдайте правила ;-)
Модераторы: NightHunter, ZiX
  1. yuazakharov

    yuazakharov

    Регистр.:
    22 янв 2013
    Сообщения:
    294
    Симпатии:
    142
    Нужно в классе Product.php переделать функцию getNewProducts, добавить передачу в эту функцию id категории и в классе модуля исключить из показа товары по id категории:
    Код:
    public static function getNewProducts($id_lang, $page_number = 0, $nb_products = 10, , $id_category = null, $count = false, $order_by = null, $order_way = null, Context $context = null){
    в модуле blocknewproducts.php в getNewProducts() ===> вместо 18, вводите свой id:
    Код:
    Product::getNewProducts((int) $this->context->language->id, 0, (int)Configuration::get('NEW_PRODUCTS_NBR'), 18);
    Таблицу категорий включить в запрос, тогда можно будет в запросе не учитывать по переданному id категорий:
    Код:
    $sql->join('JOIN '._DB_PREFIX_.'category_product cp ON (cp.id_product = p.id_product)');
    $sql->where('cp.`id_category` <> '. $id_category);

    Вопрос: как исключить еще одну категорию?
     
  2. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.391
    Симпатии:
    582
    Банально просто...
    ещё 1 строку
    $sql->where('cp.`id_category` <> 999');
     
    erectus и yuazakharov нравится это.