Привязка к свойствам

перейти в Маркетплейс

55 установок

Быстрый старт


Установка модуля происходит стандартно, через административную часть Битрикса. Ничем от установки других модулей не отличается. Если вам еще не доводилось устанавливать модули из Маркетплейса, то посмотрите как это делается на этой странице: Установка модулей 1С-Битрикс

После установки:

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

  1. В настройках инфоблока открываем вкладку "Свойство" и добавляем новое свойства типа "[Bxmod] Привязка к свойствам". Для простоты дальнейшего восприятия называйте свойство так, что бы название отражало смысл привязки.
  2. После того, как новое свойство добавлено к инфоблоку переходим к редактированию страницы, на которой необходимо будет выводить список элементов. Например в шаблон детальной страницы товара каталога.

  3. И добавляем в нужное место вот такой код вызова компонента:
    <?$APPLICATION->IncludeComponent(
        "bxmod:propfilter.list",
        "",
        Array(
            "IBLOCK_ID" => "1",         // ID инфоблока, из которого будут выбираться записи
            "FIELD" => "9",             // ID или код свойства, в котором у нас хранится фильтр
            "FILTER" => Array(          // Массив фильтрации, подробно разжеван ниже
                "IBLOCK_ID" => 2,
                "PROPERTY_COLOR" => "Красный",
                "PROPERTY_SIZE" => Array(36, 41),
                "NAME" => "Телевизор ЭлДжи"
            ),      
            "LIMIT" => "10",            // Максимальное количество выбираемых элементов
            "SORT" => "ACTIVE_FROM",    // Поле для сортировки
            "ORDER" => "DESC",          // Направление сортировки
            "CACHE_TYPE" => "A",
            "CACHE_TIME" => "36000000"
        )
    );?>

    Конечно, в параметре [FILTER] можно явно указать значения свойств. И прикрепленные элементы благополучно будут искаться, но обычно в нем указывают что-то вроде:

    "FILTER" => Array(
        "IBLOCK_ID" => $arResult["IBLOCK_ID"],
        "PROPERTY_COLOR" => $arResult["PROPERTY_COLOR_VALUE"],
        "PROPERTY_SIZE" => $arResult["PROPERTY_SIZE_VALUE"],
        "NAME" => $arResult["NAME"]
    ),

Про параметр [FILTER]

Это самый важный параметр, про него следует написать пару слов.

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

Поиск подходящих элементов будет происходить по тем свойствам, которые вы разместите в этом массиве.

Проще говоря. Создали мы свойство "Привязка к свойствам" в инфоблоке "Новости".

При редактировании новости указали, что выводить ее нужно, если свойство "Цвет" равно "Красный".

Теперь, если передать в параметр [FILTER] такой массив:

"FILTER" => Array(
    "IBLOCK_ID" => 1,
    "PROPERTY_COLOR" => "Красный",
    // ... любые другие свойства
)

или такой:

"FILTER" => Array(
    "IBLOCK_ID" => 1,
    "Цвет" => "Красный",
    // ... любые другие свойства
)

или такой:

"FILTER" => Array(
    "IBLOCK_ID" => 1,
    "COLOR" => "Красный",
    // ... любые другие свойства
)

или даже такой:

"FILTER" => Array(
    "IBLOCK_ID" => 1,
    "PROPERTY_COLOR" => 122 // ID значения, если свойство - список,
    // ... любые другие свойства
)

То будет выводится наша новость, а также все другие новости, у которых есть привязка к красному цвету.

Будьте внимательны! В параметре [FILTER] обязательно наличие IBLOCK_ID!

Это ID инфоблока, свойства которого вы передаете в [FILTER]

Если вам необходимо вывести список элементов в детальной карточке товара, то проще всего поступить так:

"FILTER" => $arResult

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

"FILTER" => Array(
    "IBLOCK_ID" => 1,
    "COLOR" => Array("Красный", "Зеленый")
)

В общем, просто передаете в компонент список параметров и их значений и получаете список элементов, которые под эти параметры "подходят". Вроде не сложно =)

Перейти в Маркетплейс

Бесплатно в Маркетплейсе!

Теперь модуль полностью бесплатен и доступен для установки!

Вам пригодится


Вход по email/телефону
Забыли пароль?
Восстановление пароля
Вы не робот?
поменять
картинку
Введите свой адрес электронной почты или номер телефона, указанный при регистрации. Затем нажмите кнопку "Восстановить".
отмена
Подтверждение номера телефона
Мы отправили на ваш номер телефона СМС с кодом подтверждения. Пожалуйста, введите данный код в поле ниже и нажмите кнопку «Подтвердить»
Восстановление пароля
На ваш адрес электронной почты мы выслали код подтверждения, введите этот код в поле ниже, введите новый пароль, его подтверждение и нажмите кнопку «Установить пароль». Код подтверждения действителен в течение 10 мин.
На ваш номер телефона мы отправили SMS с кодом подтверждения, введите этот код в поле ниже, введите новый пароль, его подтверждение и нажмите кнопку «Установить пароль». Код подтверждения действителен в течение 10 мин.
отмена
Регистрация успешно завершена!

Данная страница будет
обновлена через 5 сек.

обновить страницу

Авторизация прошла успешно!

Данная страница будет
обновлена через 5 сек.

обновить страницу

Пароль успешно изменен!

Данная страница будет
обновлена через 5 сек.

обновить страницу

Неизвестная ошибка!

Произошла неизвестная ошибка.
Обновите страницу и попробуйте заново!

обновить страницу

Вход через соц.сервисы
войдите через один из сервисов