Меню

Bitrix вывести товар по свойству

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

Выводим отфильтрованные товары на главную страницу сайта, через компонент «Топ элементов».

В продолжение к данной части: Запись прямой трансляции
Стрим: Верстка табов с каруселями внутри полосы с фоном

Для реализации понадобятся файлы

Комментарии

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

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

Может Вы как-то по другому реализуете данную задачу. Подскажите плиз)

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

Источник

Как вывести список продуктов по свойству в bitrix?

Подскажите как вывести список товаров по значению одного из свойств
вот пример

В прицепе код рабочий но он выводит только базовую информация

Подскажите как вывести фото и доп поля продукта ?

  • Вопрос задан более трёх лет назад
  • 2044 просмотра

В массиве $arSelect укажите какие поля и св-ва вам нужны. Чтобы получить id изображений в вашем примере замените $arSelect на этот

$arSelect = Array(«ID» , «IBLOCK_ID» , «NAME» , «DATE_ACTIVE_FROM» , «PREVIEW_PICTURE» , «catalog_PRICE_1» , «PROPERTY_*»);

$arFilter = Array(
«IBLOCK_ID» => 1 ,
«ACTIVE_DATE» => «Y» ,
«ACTIVE» => «Y» ,
«PROPERTY_ATT_AGE» => $arResult[«PROPERTIES»][‘ATT_AGE’][‘VALUE_ENUM_ID’] ,
);
$res = CIBlockElement::GetList( [] , $arFilter , false , [ «nPageSize» => 6 ] , $arSelect );
while($arRes = $res->Fetch()) <
$item = CIBlockElement::GetByID($arRes[‘ID’])->GetNext();
$img = CFile::GetByID($item[«DETAIL_PICTURE»])->Fetch();

Источник

Выборка товаров по свойству битрикс?

Здравствуйте! Для интернет- магазина в карточке товара нужно организовать блок, в котором будут выводиться товары с меткой «новинка» и «распродажа».

Сделал через компонент catalog.section. Все товары выводит. Отображение всех свойств товаров в настройках выставил. Пишу первые две строчки: создаю новый массив для фильтра по свойству «NEWPRODUCT».
Как уже не шаманил и так и сяк писал — пустота. Не выводит товары с меткой новинка.

В чем может быть косяк?
Спасибо.

$APPLICATION->IncludeComponent(«bitrix:catalog.section», «for_product», Array(
«ACTION_VARIABLE» => «action», // Название переменной, в которой передается действие
«ADD_PICT_PROP» => «MORE_PHOTO», // Дополнительная картинка основного товара
«ADD_PROPERTIES_TO_BASKET» => «Y», // Добавлять в корзину свойства товаров и предложений
«ADD_SECTIONS_CHAIN» => «N», // Включать раздел в цепочку навигации
«ADD_TO_BASKET_ACTION» => «ADD», // Показывать кнопку добавления в корзину или покупки
«AJAX_MODE» => «N», // Включить режим AJAX
«AJAX_OPTION_ADDITIONAL» => «», // Дополнительный идентификатор
«AJAX_OPTION_HISTORY» => «N», // Включить эмуляцию навигации браузера
«AJAX_OPTION_JUMP» => «N», // Включить прокрутку к началу компонента
«AJAX_OPTION_STYLE» => «Y», // Включить подгрузку стилей
«BACKGROUND_IMAGE» => «-«, // Установить фоновую картинку для шаблона из свойства
«BASKET_URL» => «/personal/basket.php», // URL, ведущий на страницу с корзиной покупателя
«BROWSER_TITLE» => «-«, // Установить заголовок окна браузера из свойства
«CACHE_FILTER» => «N», // Кешировать при установленном фильтре
«CACHE_GROUPS» => «Y», // Учитывать права доступа
«CACHE_TIME» => «36000000», // Время кеширования (сек.)
«CACHE_TYPE» => «A», // Тип кеширования
«CONVERT_CURRENCY» => «N», // Показывать цены в одной валюте
«DETAIL_URL» => «», // URL, ведущий на страницу с содержимым элемента раздела
«DISABLE_INIT_JS_IN_COMPONENT» => «N», // Не подключать js-библиотеки в компоненте
«DISPLAY_BOTTOM_PAGER» => «Y», // Выводить под списком
«DISPLAY_TOP_PAGER» => «N», // Выводить над списком
«ELEMENT_SORT_FIELD» => «sort», // По какому полю сортируем элементы
«ELEMENT_SORT_FIELD2» => «id», // Поле для второй сортировки элементов
«ELEMENT_SORT_ORDER» => «asc», // Порядок сортировки элементов
«ELEMENT_SORT_ORDER2» => «desc», // Порядок второй сортировки элементов
«FILTER_NAME» => «arrFilternovelty», // Имя массива со значениями фильтра для фильтрации элементов
«HIDE_NOT_AVAILABLE» => «N», // Товары, которых нет на складах
«IBLOCK_ID» => «2», // Инфоблок
«IBLOCK_TYPE» => «catalog», // Тип инфоблока
«INCLUDE_SUBSECTIONS» => «Y», // Показывать элементы подразделов раздела
«LABEL_PROP» => «NEWPRODUCT», // Свойство меток товара
«LINE_ELEMENT_COUNT» => «3», // Количество элементов выводимых в одной строке таблицы
«MESSAGE_404» => «», // Сообщение для показа (по умолчанию из компонента)
«MESS_BTN_ADD_TO_BASKET» => «В корзину», // Текст кнопки «Добавить в корзину»
«MESS_BTN_BUY» => «Купить», // Текст кнопки «Купить»
«MESS_BTN_DETAIL» => «Подробнее», // Текст кнопки «Подробнее»
«MESS_BTN_SUBSCRIBE» => «Подписаться», // Текст кнопки «Уведомить о поступлении»
«MESS_NOT_AVAILABLE» => «Нет в наличии», // Сообщение об отсутствии товара
«META_DESCRIPTION» => «-«, // Установить описание страницы из свойства
«META_KEYWORDS» => «-«, // Установить ключевые слова страницы из свойства
«OFFERS_CART_PROPERTIES» => array( // Свойства предложений, добавляемые в корзину
0 => «ARTNUMBER»,
1 => «COLOR_REF»,
2 => «SIZES_SHOES»,
3 => «SIZES_CLOTHES»,
),
«OFFERS_FIELD_CODE» => array( // Поля предложений
0 => «ID»,
1 => «CODE»,
2 => «XML_ID»,
3 => «NAME»,
4 => «TAGS»,
5 => «SORT»,
6 => «PREVIEW_TEXT»,
7 => «PREVIEW_PICTURE»,
8 => «DETAIL_TEXT»,
9 => «DETAIL_PICTURE»,
10 => «DATE_ACTIVE_FROM»,
11 => «ACTIVE_FROM»,
12 => «DATE_ACTIVE_TO»,
13 => «ACTIVE_TO»,
14 => «SHOW_COUNTER»,
15 => «SHOW_COUNTER_START»,
16 => «IBLOCK_TYPE_ID»,
17 => «IBLOCK_ID»,
18 => «IBLOCK_CODE»,
19 => «IBLOCK_NAME»,
20 => «IBLOCK_EXTERNAL_ID»,
21 => «DATE_CREATE»,
22 => «CREATED_BY»,
23 => «CREATED_USER_NAME»,
24 => «TIMESTAMP_X»,
25 => «MODIFIED_BY»,
26 => «USER_NAME»,
27 => «»,
),
«OFFERS_LIMIT» => «5», // Максимальное количество предложений для показа (0 — все)
«OFFERS_PROPERTY_CODE» => array( // Свойства предложений
0 => «ARTNUMBER»,
1 => «COLOR_REF»,
2 => «SIZES_SHOES»,
3 => «SIZES_CLOTHES»,
4 => «MORE_PHOTO»,
5 => «»,
),
«OFFERS_SORT_FIELD» => «sort», // По какому полю сортируем предложения товара
«OFFERS_SORT_FIELD2» => «id», // Поле для второй сортировки предложений товара
«OFFERS_SORT_ORDER» => «asc», // Порядок сортировки предложений товара
«OFFERS_SORT_ORDER2» => «desc», // Порядок второй сортировки предложений товара
«PAGER_BASE_LINK_ENABLE» => «N», // Включить обработку ссылок
«PAGER_DESC_NUMBERING» => «N», // Использовать обратную навигацию
«PAGER_DESC_NUMBERING_CACHE_TIME» => «36000», // Время кеширования страниц для обратной навигации
«PAGER_SHOW_ALL» => «N», // Показывать ссылку «Все»
«PAGER_SHOW_ALWAYS» => «N», // Выводить всегда
«PAGER_TEMPLATE» => «.default», // Шаблон постраничной навигации
«PAGER_TITLE» => «Товары», // Название категорий
«PAGE_ELEMENT_COUNT» => «30», // Количество элементов на странице
«PARTIAL_PRODUCT_PROPERTIES» => «Y», // Разрешить добавлять в корзину товары, у которых заполнены не все характеристики
«PRICE_CODE» => array( // Тип цены
0 => «BASE»,
),
«PRICE_VAT_INCLUDE» => «Y», // Включать НДС в цену
«PRODUCT_DISPLAY_MODE» => «Y», // Схема отображения
«PRODUCT_ID_VARIABLE» => «id», // Название переменной, в которой передается код товара для покупки
«PRODUCT_PROPERTIES» => array( // Характеристики товара
0 => «BRAND_REF»,
1 => «NEWPRODUCT»,
2 => «SALELEADER»,
3 => «SPECIALOFFER»,
4 => «MATERIAL»,
5 => «F_USER»,
6 => «RECOMMEND»,
),
«PRODUCT_PROPS_VARIABLE» => «prop», // Название переменной, в которой передаются характеристики товара
«PRODUCT_QUANTITY_VARIABLE» => «», // Название переменной, в которой передается количество товара
«PRODUCT_SUBSCRIPTION» => «N», // Разрешить оповещения для отсутствующих товаров
«PROPERTY_CODE» => array( // Свойства
0 => «TITLE»,
1 => «KEYWORDS»,
2 => «META_DESCRIPTION»,
3 => «BRAND_REF»,
4 => «NEWPRODUCT»,
5 => «SALELEADER»,
6 => «SPECIALOFFER»,
7 => «ARTNUMBER»,
8 => «MANUFACTURER»,
9 => «MATERIAL»,
10 => «COLOR»,
11 => «BLOG_POST_ID»,
12 => «F_USER»,
13 => «BLOG_COMMENTS_CNT»,
14 => «FORUM_MESSAGE_CNT»,
15 => «vote_count»,
16 => «rating»,
17 => «RECOMMEND»,
18 => «vote_sum»,
19 => «FORUM_TOPIC_ID»,
20 => «MINIMUM_PRICE»,
21 => «MAXIMUM_PRICE»,
22 => «»,
),
«SECTION_CODE» => «», // Код раздела
«SECTION_ID» => $_REQUEST[«SECTION_ID»], // ID раздела
«SECTION_ID_VARIABLE» => «SECTION_ID», // Название переменной, в которой передается код группы
«SECTION_URL» => «», // URL, ведущий на страницу с содержимым раздела
«SECTION_USER_FIELDS» => array( // Свойства раздела
0 => «UF_BROWSER_TITLE»,
1 => «UF_KEYWORDS»,
2 => «UF_META_DESCRIPTION»,
3 => «UF_BACKGROUND_IMAGE»,
4 => «»,
),
«SEF_MODE» => «N», // Включить поддержку ЧПУ
«SET_BROWSER_TITLE» => «Y», // Устанавливать заголовок окна браузера
«SET_LAST_MODIFIED» => «N», // Устанавливать в заголовках ответа время модификации страницы
«SET_META_DESCRIPTION» => «Y», // Устанавливать описание страницы
«SET_META_KEYWORDS» => «Y», // Устанавливать ключевые слова страницы
«SET_STATUS_404» => «N», // Устанавливать статус 404
«SET_TITLE» => «Y», // Устанавливать заголовок страницы
«SHOW_404» => «N», // Показ специальной страницы
«SHOW_ALL_WO_SECTION» => «Y», // Показывать все элементы, если не указан раздел
«SHOW_CLOSE_POPUP» => «N», // Показывать кнопку продолжения покупок во всплывающих окнах
«SHOW_DISCOUNT_PERCENT» => «N», // Показывать процент скидки
«SHOW_OLD_PRICE» => «N», // Показывать старую цену
«SHOW_PRICE_COUNT» => «1», // Выводить цены для количества
«TEMPLATE_THEME» => «blue», // Цветовая тема
«USE_MAIN_ELEMENT_SECTION» => «N», // Использовать основной раздел для показа элемента
«USE_PRICE_COUNT» => «N», // Использовать вывод цен с диапазонами
«USE_PRODUCT_QUANTITY» => «N», // Разрешить указание количества товара
«COMPONENT_TEMPLATE» => «.default»,
«SEF_RULE» => «», // Правило для обработки
«SECTION_CODE_PATH» => «»,
«OFFER_ADD_PICT_PROP» => «MORE_PHOTO», // Дополнительные картинки предложения
«OFFER_TREE_PROPS» => «», // Свойства для отбора предложений
),
false
);?>

  • Вопрос задан более трёх лет назад
  • 5066 просмотров

А если так сделать?
$arrFilternovelty = Array(‘!PROPERTY_NEWPRODUCT’ => false);

NEWPRODUCT имеет тип «Список»?
Если в фильтре вы пишете PROPERTY_NEWPRODUCT_VALUE, тогда нужно сравнивать именно со значением списочного свойства, к примеру:
$arrFilternovelty = Array(‘PROPERTY_NEWPRODUCT_VALUE’ => ‘Да’);
или так, если у значения свойства «Да» установлен XML_ID ‘Y’:
$arrFilternovelty = Array(‘PROPERTY_NEWPRODUCT_VALUE_XML_ID’ => ‘Y’);

Источник

Вывод в bitrix catalog.section товаров по свойству

global $bbF;
$bbF = Array(«ON_HOME» => «Y»);
$APPLICATION->IncludeComponent(
«bitrix:catalog.section»,
«home_elem_list»,
Array(
«TEMPLATE_THEME» => «blue»,
«ADD_PICT_PROP» => «MORE_PHOTO»,
«LABEL_PROP» => «ON_HOME»,
«PRODUCT_SUBSCRIPTION» => «N»,
«SHOW_DISCOUNT_PERCENT» => «N»,
«SHOW_OLD_PRICE» => «N»,
«MESS_BTN_BUY» => «Купить»,
«MESS_BTN_ADD_TO_BASKET» => «В корзину»,
«MESS_BTN_SUBSCRIBE» => «Подписаться»,
«MESS_BTN_DETAIL» => «Подробнее»,
«MESS_NOT_AVAILABLE» => «Нет в наличии»,
«AJAX_MODE» => «Y»,
«IBLOCK_TYPE» => «catalog»,
«IBLOCK_ID» => «5»,
«SECTION_ID» => «»,
«SECTION_CODE» => «koktelnye-platya»,
«SECTION_USER_FIELDS» => array(«ON_HOME»),
«ELEMENT_SORT_FIELD» => «timestamp_x»,
«ELEMENT_SORT_ORDER» => «desc»,
«ELEMENT_SORT_FIELD2» => «id»,
«ELEMENT_SORT_ORDER2» => «desc»,
«FILTER_NAME» => «bbF»,
«INCLUDE_SUBSECTIONS» => «Y»,
«SHOW_ALL_WO_SECTION» => «N»,
«SECTION_URL» => «»,
«DETAIL_URL» => «»,
«SECTION_ID_VARIABLE» => «SECTION_ID»,
«SET_TITLE» => «N»,
«SET_BROWSER_TITLE» => «N»,
«BROWSER_TITLE» => «-«,
«SET_META_KEYWORDS» => «N»,
«META_KEYWORDS» => «-«,
«SET_META_DESCRIPTION» => «N»,
«META_DESCRIPTION» => «-«,
«ADD_SECTIONS_CHAIN» => «N»,
«DISPLAY_COMPARE» => «N»,
«SET_STATUS_404» => «N»,
«PAGE_ELEMENT_COUNT» => «4»,
«LINE_ELEMENT_COUNT» => «4»,
«PROPERTY_CODE» => array(«ON_HOME»),
«OFFERS_LIMIT» => «4»,
«PRICE_CODE» => array(«BASE»),
«USE_PRICE_COUNT» => «N»,
«SHOW_PRICE_COUNT» => «1»,
«PRICE_VAT_INCLUDE» => «Y»,
«BASKET_URL» => «/personal/basket.php»,
«ACTION_VARIABLE» => «action»,
«PRODUCT_ID_VARIABLE» => «id»,
«USE_PRODUCT_QUANTITY» => «N»,
«PRODUCT_QUANTITY_VARIABLE» => «quantity»,
«ADD_PROPERTIES_TO_BASKET» => «Y»,
«PRODUCT_PROPS_VARIABLE» => «prop»,
«PARTIAL_PRODUCT_PROPERTIES» => «N»,
«PRODUCT_PROPERTIES» => array(«ON_HOME»),
«CACHE_TYPE» => «A»,
«CACHE_TIME» => «36000000»,
«CACHE_FILTER» => «N»,
«CACHE_GROUPS» => «Y»,
«PAGER_TEMPLATE» => «.default»,
«DISPLAY_TOP_PAGER» => «N»,
«DISPLAY_BOTTOM_PAGER» => «N»,
«PAGER_TITLE» => «Товары»,
«PAGER_SHOW_ALWAYS» => «N»,
«PAGER_DESC_NUMBERING» => «N»,
«PAGER_DESC_NUMBERING_CACHE_TIME» => «36000»,
«PAGER_SHOW_ALL» => «N»,
«HIDE_NOT_AVAILABLE» => «N»,
«CONVERT_CURRENCY» => «N»,
«AJAX_OPTION_JUMP» => «N»,
«AJAX_OPTION_STYLE» => «Y»,
«AJAX_OPTION_HISTORY» => «N»
)
);

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

Источник

Читайте также:  Как отмыть матрас аскона