Хочется написать небольшое руководство по настройке фильтра по свойству для компонентов. В обращениях в техподдержку часто спрашивают: «Как настроить слайдер, чтобы он отображал только товары-спецпредложения?». Это не так просто неподготовленному пользователю, тем более, что в новом компоненте нет опции, которая была в старом компоненте bitrix:eshop.catalog.top:
Итак, приступим.
ВНИМАНИЕ! С версии 17 модуля "информационные блоки" фильтр можно настроить через интерфейс, писать код не нужно:
Если же решили идти старым путём, то можете читать дальше.
Для начала, нужно создать свойство инфоблока (если его нет). Создаём свойство типа «список», вида «флажки», с одним значением «да». Запомните символьный код свойства (FOR_SLIDER) – это важно.
Сохраняем все наши нововведения, переходим к списку товаров. Я настроил список товаров так, чтобы отображалось свойство «Отображать в слайдере». Так будет проще устанавливать свойство и вам нагляднее:
Отмечаем нужные товары и нажимаем внизу страницы на иконку редактирования, выставляем свойство нужным товарам, сохраняем:
Теперь самое главное, нужно установить фильтр по свойству. Открываем файл, в котором располагается наш компонент-слайдер bitrix:catalog.top. В административной части сайта переходим в «Контент > Структура сайта > Файлы и папки». Находим файл sect_inc.php, открываем его на редактирование в режиме PHP (код вызова компонента на вашем сайте может отличаться, это пример для слайдера в стандартном решении). Вставляем код (заметьте где в коде используется наш символьный код свойства):
Сохраняем изменения. Почти всё! Теперь заходим в публичную часть сайта. Возможно, что слайдер уже будет показывать товары выбранные по созданному свойству, но нужно обязательно проверить один момент. Включаем режим правки (переключатель на панели администрирования), наводим курсор на слайдер, нажимаем шестеренку. Попадаем в параметры компонента, проверяем что написано в поле «Имя массива со значениями фильтра для фильтрации элементов». Там нужно написать (если не написано) arrFilter:
Сохраняем. Теперь слайдер отображает только те товары, у которых установлено свойство «Отображать в слайдере»:
Хочу заметить, что такая фильтрация доступна для многих компонентов и использовать её можно по разному. Подробнее о том, по каким полям/свойствам можно производить фильтрацию, можно прочитать в нашей документации: http://dev.1c-bitrix.ru/api_help/iblo...etlist.php
Добрый день Дмитрий, подскажите пожалуйста. По указанной ссылке Контент > Структура сайта > Файлы и папки, файл sect_inc.php имеет вид как на скриншоте, т.е. не соответствует вашему и соответственно при добавлении указанного Вами кода нет должного результата. Что можно сделать в этом случае?
Gn Mikhail, это значит, что код подключения компонента, в вашем случае, располагается в другом файле. Я рекомендую написать нам в поддержку, разберемся детальнее, в какой файл нужно вносить правки. Написать обращение можно по ссылке: http://www.1c-bitrix.ru/support/custo...w_wizard=Y
Гречушников Максим, прошу прощения, не увидел вопрос, который вы задавали. Решить вашу задачу через такой фильтр не получится (если используются стандартные шаблоны), потому что стандартные шаблоны на данный момент не могут отображать определенные SKU товара по фильтру.
Увы... Почему то уже не срабатывает, хотя почти всё сделал как в примере. Единственное что, всё вышеперечисленное проделывал не в файле "sect_inc.php" (в нём сейчас уже нет ничего похожего - искал все файлы с подобными названиями) - создавал включаемую область и уже в ней выводил компонент и добавлял код, ответственный за фильтрацию из примера выше. Видимо, что то изменилось в новых версиях Битрикса (16.5.хх).
Денис Акулов, используйте тот файл, в котором размещён компонент. В моём случае компонент был размещён в sect_inc.php, поэтому я туда код фильтра писал. У вас компонент может быть расположен на другой странице.
добрый день! а не подскажете, если новинок много, их можно как то вывести все, но не в одну строку? просто если выбирать количество, то оно (даже если 90) выведется в одну строчку, а как вывести все 90 но по 5 в строке? или лучше использовать не топ элементов?
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».