Тюнинг-Софт
Введение
Компоненты

Установка

Содержание

Установка модуля "Фильтр по элементам"

Заходим в Администрирование > Marketplace > Каталог решений > Работа с контентом > Фильтр по элементам и нажимаем Установить
Установка модуля "Фильтр по элементам"

Далее нажимайте кнопку Загрузить, в появившемся окне ознакомьтесь с лицензионным соглашением по модулю, если принимаете соглашение, ставьте галочку и нажимайте Применить, система загрузит модуль на Ваш сайт.
Установка модуля "Фильтр по элементам"

Теперь необходимо установить загруженный модуль в систему, нажимайте Установить
Установка модуля "Фильтр по элементам"

В открывшемся новом окне должно быть сообщение об успешной установке модуля.
Установка модуля "Фильтр по элементам"

Все, на этом шаге модуль считается установленным!

Настройка компонента "Фильтр по элементам" для работы с компонентом "Элементы раздела (catalog.section)"

Открываем публичную часть сайта и при необходимости либо "создаем новый раздел", либо "открываем существующую страницу" для редактирования в визуальном редакторе.
Настройка модуля "Фильтр по элементам" для работы с компонентом "Элементы раздела (catalog.section)"

После создания раздела на странице в визуальном редакторе Вам необходимо:
  1. Найти два компонента "Фильтр по элементам" и "Элементы раздела" и разместить их на странице;
    Тюнинг-Софт > Разное > Фильтр по элементам
    Контент > Каталог > Элементы раздела

  2. Разместить компонент фильтра нужно НАД компонентом каталога, а не ПОД (работать не будет в этом случае);
  3. Указать в настройках обоих компонентов одинаковый инфоблок каталога товаров.
  4. Задать в настройках фильтра поля и свойства, по которым нужна фильтрация товаров.
На этом все, все остальные настройки на вкус и цвет, минимальная настройка компонента фильтра на работу с компонентом каталога завершена.
Настройка модуля "Фильтр по элементам" для работы с компонентом "Элементы раздела (catalog.section)"

После сохранения страницы вот такая будет красота!
Фильтрация уже должна работать, если не будет работать фильтрация смотрите FAQ.
Тут сверху работает компонент фильтра, а ниже работает компонент каталога, который выводит товары, сам фильтр товары не выводит.


Настройка компонента "Фильтр по элементам" для работы с комплексным компонентом "Каталог (catalog)"

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

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

Копируем шаблон компонента "Каталог", будем работать с копией шаблона компонента.
Копируем шаблон компонента "Каталог"

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

Далее должно открыться окно с кодом шаблона, т.к. стояла галочка "Перейти к редактированию шаблона", если не открылось, тогда заходите в тоже меню и там уже нажимайте "Редактировать шаблон компонента".
Этот код хранится в файле section.php комплексного компонента каталога.
В окне с кодом нам нужно заменить код вызова "Умного фильтра" на код вызова "Фильтра по элементам".
Редактирование шаблона компонента Каталог

Код вызова  компонента "Фильтр по элементам" можно взять в визуальном редакторе, просто откройте для редактирования любую страницу на сайте в визуальном редакторе, положите там мой компонент, настройте под себя, шаблон подойдет "table" или "vertical-dark-red", переключите визуальный редактор в "режим редактирования исходного кода" и скопируйте полученный после настроек код вызова компонента.
Код вызова "Фильтра по элементам"

Вот этот скопированный код и надо вставить вместо кода умного фильтра, но не удаляйте код умного фильтра, выделите код как ниже от открывающей (<?) до закрывающей (?>) скобок? вырежьте Ctrl + V и сохраните его где-нибудь временно в текстовом файле, там есть два технических  момента, возможно пригодятся ключи умного фильтра.


Далее, вставляем на это место код вызова "Фильтра по элементам", вот так должно получиться:
Код вызова "Фильтра по элементам"

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

Про два технических момента:
1) Если оставить в таком виде настройки компонента "Фильтр по элементам",  как выше, то все его настройки вы должны делать в отдельном меню, настраиваться в этом случае он будет независимо от комплексного компонента каталога, вот так:
Настройка фильтра по элементам

2) Можно сделать централизованную настройку фильтра из комплексного компонента, но будут настраиваться не все настройки, а только те, которые прописаны в комплексном компоненте, иногда этого достаточно, например: Инфоблок, Имя фильтра,  Поля, Свойства, ID раздела, Тип цены, но если очень захочется, то можно все настройки там вывести, зависит от Вашего уровня знаний в Битрикс.
Настройка фильтра по элементам из комплексного компонента каталога

Для этого необходимо из сохраненного ранее кода вызова "Умного фильтра" взять подходящие значения для "Фильтра по элементам" и подставить их, а также необходимо заменить константу false  на переменную $component, тогда компонент "Фильтр по элементам" не будет настраиваться отдельным пунктом меню, а будет брать настройки из настроек комплексного компонента, но их нужно прописать ручками.

Открываем опять для редактирования шаблон компонента "Каталог" и заменяем код уже вот на этот, готовый для версии модуля "Фильтр по элементам v.1.2", если у Вас на момент чтения статьи версия другая, то ключи настроек будут отличаться, Вам нужно будет вручную в своем коде вызова подставить значения переменной $arParams["тут соответствующий ключ"]

<?$APPLICATION->IncludeComponent(
    "api:search.filter",
    "vertical-dark-red",
    Array(
        "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
        "IBLOCK_ID" => $arParams["IBLOCK_ID"],
        "FILTER_NAME" => $arParams["FILTER_NAME"],
        "REDIRECT_FOLDER" => "",
        "FIELD_CODE" => $arParams["FILTER_FIELD_CODE"],
        "PROPERTY_CODE" => $arParams["FILTER_PROPERTY_CODE"],
        "CHECK_ACTIVE_SECTIONS" => "N",
        "SECTION_ID" => $arCurSection['ID'],
        "SECTION_CODE" => "",
        "LIST_HEIGHT" => "5",
        "TEXT_WIDTH" => "209",
        "NUMBER_WIDTH" => "85",
        "SELECT_WIDTH" => "220",
        "ELEMENT_IN_ROW" => "3",
        "NAME_WIDTH" => "130",
        "FILTER_TITLE" => "Фильтр по элементам",
        "BUTTON_ALIGN" => "center",
        "SELECT_IN_CHECKBOX" => array("", ""),
        "CHECKBOX_NEW_STRING" => "N",
        "REPLACE_ALL_LABEL" => "N",
        "REMOVE_POINTS" => "N",
        "SECTIONS_DEPTH_LEVEL" => "",
        "SECTIONS_FIELD_TITLE" => "Разделы",
        "SECTIONS_FIELD_VALUE_TITLE" => "Все разделы",
        "CACHE_TYPE" => $arParams["CACHE_TYPE"],
        "CACHE_TIME" => $arParams["CACHE_TIME"],
        "CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
        "SAVE_IN_SESSION" => "N",
        "PRICE_CODE" => $arParams["FILTER_PRICE_CODE"],
        "INCLUDE_JQUERY" => "Y",
        "INCLUDE_PLACEHOLDER" => "Y",
        "INCLUDE_CHOSEN_PLUGIN" => "Y",
        "CHOSEN_PLUGIN_PARAM__disable_search_threshold" => "30",
        "INCLUDE_FORMSTYLER_PLUGIN" => "Y",
        "INCLUDE_AUTOCOMPLETE_PLUGIN" => "N",
        "INCLUDE_JQUERY_UI" => "Y",
        "INCLUDE_JQUERY_UI_SLIDER" => "Y",
        "JQUERY_UI_SLIDER_BORDER_RADIUS" => "N",
        "INCLUDE_JQUERY_UI_SLIDER_TOOLTIP" => "N",
        "JQUERY_UI_THEME" => "ts-red",
        "JQUERY_UI_FONT_SIZE" => "10px",
        "OFFERS_FIELD_CODE" => $arParams["FILTER_OFFERS_FIELD_CODE"],
        "OFFERS_PROPERTY_CODE" => $arParams["FILTER_OFFERS_PROPERTY_CODE"]
    ),
    $component,
    array('HIDE_ICONS' => 'Y')
);?>

И вот так заработает "Фильтр по элементам", т.е. уже подцепил настройки из комплексного компонента каталога
Фильтр по элементам с настройками из комплексного компонента каталога


Комментарии
Получать ответы на почту