Меню

Часть 16: Вывод топов товаров на главную страницы, с фильтрацией по свойству

RSS
Часть 16: Вывод топов товаров на главную страницы, с фильтрацией по свойству
 
Часть 16: Вывод топов товаров на главную страницы, с фильтрацией по свойству

Выводим отфильтрованные товары на главную страницу сайта, через компонент "Топ элементов"
 
Михаил, спасибо за отличные уроки! Они реально на уровне. Просмотрев все Ваши видео не нашел как выводить отдельно товары с скидками.
Можете подсказать как реализовать раздел "Распродажа" где будут выводиться все товары у которых есть скидка.
Пробовал следующий вариант, но ничего не получилось. Выводит только весь товар, а фильтр не применяется.


Код
<div class="h2">Акции</div>    
<?   $dbProductDiscounts = CCatalogDiscount::GetList(     
   array("SORT" => "ASC"),     
   array("ACTIVE" => "Y"),    
    false,    
    false,    
    array("ID", "PRODUCT_ID")    );    
   while ($arProductDiscounts = $dbProductDiscounts->Fetch()) { 
      $akcii_arr[] = $arProductDiscounts["PRODUCT_ID"];    
   }    
   foreach($akcii_arr as $ID) { 
       $akcii_arr_[] = $ID;   }    
   $GLOBALS['arrFilterAkcii'] = array("ID"=>$akcii_arr_);    
?>    
<?$APPLICATION->IncludeComponent("bitrix:catalog.top", "hit_on_main", 
    Array(    
   "COMPONENT_TEMPLATE" => ".default",       
   "IBLOCK_TYPE" => "1c_catalog",   // Тип инфоблока       
   "IBLOCK_ID" => "12",   // Инфоблок       
   "ELEMENT_SORT_FIELD" => "sort",   // По какому полю сортируем элементы       
   "ELEMENT_SORT_ORDER" => "asc",   // Порядок сортировки элементов       
   "ELEMENT_SORT_FIELD2" => "id",   // Поле для второй сортировки элементов       
   "ELEMENT_SORT_ORDER2" => "desc",   // Порядок второй сортировки элементов       
   "FILTER_NAME" => "arrFilterAkcii",   // Имя массива со значениями фильтра для фильтрации элементов       
"HIDE_NOT_AVAILABLE" => "Y",   // Товары, которых нет на складах       
"ELEMENT_COUNT" => "10",   // Количество выводимых элементов       
"LINE_ELEMENT_COUNT" => "1",   // Количество элементов выводимых в одной строке таблицы       
"PROPERTY_CODE" => array(   // Свойства          
   0 => "",          
   1 => "",      ),       
"OFFERS_FIELD_CODE" => array(   // Поля предложений          
   0 => "",          
   1 => "",      ),       
"OFFERS_PROPERTY_CODE" => array(   // Свойства предложений          
   0 => "",          
1 => "",      ),       
"OFFERS_SORT_FIELD" => "sort",   // По какому полю сортируем предложения товара       
"OFFERS_SORT_ORDER" => "asc",   // Порядок сортировки предложений товара       
"OFFERS_SORT_FIELD2" => "id",   // Поле для второй сортировки предложений товара       
"OFFERS_SORT_ORDER2" => "desc",   // Порядок второй сортировки предложений товара       
"OFFERS_LIMIT" => "5",   // Максимальное количество предложений для показа (0 - все)       
"VIEW_MODE" => "SECTION",   // Показ элементов       
"TEMPLATE_THEME" => "blue",   // Цветовая тема       
"PRODUCT_DISPLAY_MODE" => "N",   // Схема отображения       
"ADD_PICT_PROP" => "-",   // Дополнительная картинка основного товара       
"LABEL_PROP" => "-",   // Свойство меток товара       
"SHOW_DISCOUNT_PERCENT" => "N",   // Показывать процент скидки       
"SHOW_OLD_PRICE" => "N",   // Показывать старую цену       
"SHOW_CLOSE_POPUP" => "N",   // Показывать кнопку продолжения покупок во всплывающих окнах       
"MESS_BTN_BUY" => "Купить",   // Текст кнопки "Купить"       
"MESS_BTN_ADD_TO_BASKET" => "В корзину",   // Текст кнопки "Добавить в корзину"       
"MESS_BTN_COMPARE" => "Сравнить",   // Текст кнопки "Сравнить"       
"MESS_BTN_DETAIL" => "Подробнее",   // Текст кнопки "Подробнее"       
"MESS_NOT_AVAILABLE" => "Нет в наличии",   // Сообщение об отсутствии товара       
"SECTION_URL" => "",   // URL, ведущий на страницу с содержимым раздела       
"DETAIL_URL" => "",   // URL, ведущий на страницу с содержимым элемента раздела       
"SECTION_ID_VARIABLE" => "SECTION_ID",   // Название переменной, в которой передается код группы       
"PRODUCT_QUANTITY_VARIABLE" => "",   // Название переменной, в которой передается количество товара       
"SEF_MODE" => "N",   // Включить поддержку ЧПУ       
"SEF_RULE" => "",   // Правило для обработки       
"CACHE_TYPE" => "N",   // Тип кеширования       
"CACHE_TIME" => "36000000",   // Время кеширования (сек.)       
"CACHE_GROUPS" => "Y",   // Учитывать права доступа       
"CACHE_FILTER" => "N",   // Кешировать при установленном фильтре       
"ACTION_VARIABLE" => "action",   // Название переменной, в которой передается действие       
"PRODUCT_ID_VARIABLE" => "id",   // Название переменной, в которой передается код товара для покупки       
"PRICE_CODE" => array(   // Тип цены          
0 => "BASE",      ),       
"USE_PRICE_COUNT" => "N",   // Использовать вывод цен с диапазонами       
"SHOW_PRICE_COUNT" => "1",   // Выводить цены для количества       
"PRICE_VAT_INCLUDE" => "Y",   // Включать НДС в цену       
"CONVERT_CURRENCY" => "N",   // Показывать цены в одной валюте       
"BASKET_URL" => "/personal/basket.php",   // URL, ведущий на страницу с корзиной покупателя       
"USE_PRODUCT_QUANTITY" => "N",   // Разрешить указание количества товара       
"ADD_PROPERTIES_TO_BASKET" => "Y",   // Добавлять в корзину свойства товаров и предложений       
"PRODUCT_PROPS_VARIABLE" => "prop",   // Название переменной, в которой передаются характеристики товара    
   "PARTIAL_PRODUCT_PROPERTIES" => "N",   // Разрешить добавлять в корзину товары, у которых заполнены не все характеристики       
"PRODUCT_PROPERTIES" => "",   // Характеристики товара       
"OFFERS_CART_PROPERTIES" => "",   // Свойства предложений, добавляемые в корзину       
"ADD_TO_BASKET_ACTION" => "ADD",   // Показывать кнопку добавления в корзину или покупки       
"DISPLAY_COMPARE" => "N",   // Разрешить сравнение товаров       
"ROTATE_TIMER" => "30"   ),    
false);?> 
Может Вы как-то по другому реализуете данную задачу.  Подскажите плиз)
 
Цитата
Евгений написал:
Михаил, спасибо за отличные уроки! Они реально на уровне. Просмотрев все Ваши видео не нашел как выводить отдельно товары с скидками.
Можете подсказать как реализовать раздел "Распродажа" где будут выводиться все товары у которых есть скидка.
Пробовал следующий вариант, но ничего не получилось. Выводит только весь товар, а фильтр не применяется.
Код
 <div class="h2">Акции</div>    
<?   $dbProductDiscounts = CCatalogDiscount::GetList(     
   
?>    
<?$APPLICATION->IncludeComponent("bitrix:catalog.top", "hit_on_main", 
    Array(    
  
"ROTATE_TIMER" => "30"   ),    
false);?>  
Может Вы как-то по другому реализуете данную задачу.  Подскажите плиз)

Как правило, из 1С передается (очень давно не делал сайты без 1С) свойства "Скидка"
Это просто число, можно и строкой передавать, но число удобнее. Можно, например, использовать в умном фильтре с ползунками От-До
И навесить бирку с величиной скидки

В нужном месте сайта вызываю catalog.section и навешиваю фильтр, который просто проверяет свойство "Скидка" на пустоту (отфильтрует не пустые)
Пример тут http://copy.baby-shoes.su/sales/
Код
<?
$GLOBALS['arrFilter'] = array('ACTIVE' => 'Y', '!PROPERTY_DISCOUNTS' => false);
?>
<? $APPLICATION->IncludeComponent(
.....
"FILTER_NAME" => "arrFilter",
.....
?>


 
Михаил, спасибо за ответ.
 
Михаил,добрый день. попробовал реализовать таб меню,вроде получилось, но при переключении табов предыдущие вкладки не пропадают( шаблон компонента не трогал )
вот код :            подскажите что я мог упустить? как прописать условие,чтобы при переключении не происходило выпадания предыдущей вкладки?
Скрытый текст
 
Тут, вам, скорее- нужно смотреть свою верстку и скрипты. Что-то с чем-то конфликтует
 
Здравствуйте, подскажите возможно ли вывести "топ товаров" в детальной карте товара по аналогичному значению заполненного свойства???
к примеру зашли мы в карточку товара "Телевизор" у него есть свойство "Модель - ИЗОГНУТЫЙ"
и тут же вывести топ телевизоров со свойством "Модель - ИЗОГНУТЫЙ"
 
Цитата
Артур написал:
Здравствуйте, подскажите возможно ли вывести "топ товаров" в детальной карте товара по аналогичному значению заполненного свойства???
к примеру зашли мы в карточку товара "Телевизор" у него есть свойство "Модель - ИЗОГНУТЫЙ"
и тут же вывести топ телевизоров со свойством "Модель - ИЗОГНУТЫЙ"
Да, в настройках топа задайте правило сотритровки, с выбором "другое" property_ВАШЕ_СВОЙСТВО
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

Блог-note: заметки разработчика

Создание раздела инфоблока при регистрации пользователя в Битрикс

Например вам нужно выводить информацию исключительно для определенного пользователя. Само собой, это можно сделать с пом...

Получение токена доступа API Firebase (HTTP v1) с помощью PHP для отправки push-уведомлений.

До июня 2024 года API Firebase использовал постоянный токен доступа, который можно было получить один раз в консоли. Одн...

Запретить указание количества товаров, добавляемого в корзину, в определенных разделах каталога.

Задача состоит в том, чтобы запретить указание количества товара, добавляемого в корзину, в определенных разделах катало...

Правильное подключение стилей и скриптов в Битрикс

Есть несколько способов подключения файлов стилей и скриптов, при верстке шаблонов в системе управления 1С-Битрикс. Если...

Простые калькуляторы в карточке товара каталога на Битрикс

На одном из создаваемых сайтов было необходимо сделать небольшой калькулятор и предварительным подсчетом стоимости услуг...

Заполнить коэффициент единицы измерения (MEASURE_RATIO) из свойства элемента

Задача: Каталог наполняется из 1С, но 1С не передает коэффициент единицы измерения (особенность конкретной 1С, но во...

Cordova, ввод в input под диктовку. Голосовой поиск в мобильном приложении.

Итак, задачка: реализовать голосовой поиск в мобильном приложении на Cordova. По сути, нам нужно захватить речь с микроф...

Картинка торгового предложения вместо иконки цвета, в выборе SKU

Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового предложения. Если картинки у пр...

Добавление в избранное или отложенные, на AJAX из карточки товара

В этой заметке рассакажу как добавлять товары в "Отложенные", для иммитации функционала "Избранное". Для этого будем исп...