Медиа
21.12.2015 17:32:57
Модули
262

Медиа

Решение нужно для связи любого инфоблока с элементами медибиблиотеки.

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

Установка:
1. Нажать кнопку "установить"

Скачать модуль для Битрикс - Медиа

2. После успешной установки среди инфоблоков появится новый - Медиабиблиотека. 
Если данный тип отсутствует - он будет создан.

3. В административном меню в разделе "сервисы" появится опция "синхронизация с медиабиблиотекой"

Настройка модуля для Битрикс - Медиа

По нажатию кнопки "синхронизировать" элементы и коллекции из медиабиблиотеки копируются в инфоблок, сохраняя иерархию. При этом в дополнительных свойствах элемента и раздела хранится id элемента и коллекции из медиабиблиотеки. То есть - при повторной синхронизации те элементы, которые уже есть в инфоблоке, перезаписаны не будут.

Работа модуля для Битрикс - Медиа

Работа модуля для Битрикс - Медиа

Работа модуля для Битрикс - Медиа

Для создания слайдера при помощи данного решения:
1. Добавьте в выбранный инфоблок свойство "привязка к разделам" и свяжите его с разделами (коллекциями) ИБ Медиабиблиотека
2. На странице детального просмотра элемента выбранного инфоблока подключите компонент bitrix:photogallery.detail.list, в параметрах компонента выберите инфоблок "медиабиблиотека", а в качестве SECTION_ID укажите свойство, в котором хранится привязка к разделу медиабиблиотеки.

Пример кода подключения:
<?$APPLICATION->IncludeComponent("bitrix:photogallery.detail.list", "slider", array(
      "IBLOCK_TYPE" => "medialinrary",
      "IBLOCK_ID" => $MEDIA_IBLOCK_ID,
      "BEHAVIOUR" => "SIMPLE",
      "SECTION_ID" => $arResult["PROPERTIES"]["MEDIA_COLLECTION"]["VALUE"],
      "ELEMENT_LAST_TYPE" => "count",
      "ELEMENTS_LAST_COUNT" => "30",
      "ELEMENT_SORT_FIELD" => "ID",
      "ELEMENT_SORT_ORDER" => "asc",
      "ELEMENT_SORT_FIELD1" => "",
      "ELEMENT_SORT_ORDER1" => "desc",
      "PROPERTY_CODE" => array(
            0 => "APPROVE_ELEMENT",
            1 => "PUBLIC_ELEMENT",
            2 => "URL",
            3 => "rating",
            4 => "vote_count",
            5 => "vote_sum",
            6 => "",
      ),
      "USE_DESC_PAGE" => "Y",
      "PAGE_ELEMENTS" => "20",
      "PAGE_NAVIGATION_TEMPLATE" => "",
      "DETAIL_URL" => "/photos/#SECTION_ID#/#ELEMENT_ID#/",
      "DETAIL_SLIDE_SHOW_URL" => "",
      "SEARCH_URL" => "",
      "CACHE_TYPE" => "N",
      "CACHE_TIME" => "3600",
      "SET_TITLE" => "Y",
      "USE_PERMISSIONS" => "N",
      "GROUP_PERMISSIONS" => array(
            0 => "1",
      ),
      "DATE_TIME_FORMAT" => "d.m.Y",
      "SET_STATUS_404" => "Y",
      "ADDITIONAL_SIGHTS" => array(
      ),
      "PICTURES_SIGHT" => "real",
      "SHOW_PAGE_NAVIGATION" => "none",
      "ELEMENT_ID" => "",
      "SLIDER_COUNT_CELL" => "2"
      ),
      false,
      array(
      "ACTIVE_COMPONENT" => "Y"
      )
);
Задача
Связывать любой инфоблок с элементами медибиблиотеки.

Решение: Попробовать
Стоимость такого проекта: Бесплатно
Загрузка...