Настройка DAM (управление цифровыми активами) для 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка DAM (управление цифровыми активами) для 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1181
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    813
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка DAM (управление цифровыми активами) для 1С-Битрикс

DAM — это централизованное хранилище медиафайлов с метаданными, тегами, правами доступа и версионированием. В Битрикс роль DAM выполняет модуль Медиабиблиотека (fileman), но в базовой конфигурации он работает как простое файловое дерево без структурированных метаданных и поиска по содержимому.

Архитектура модуля Медиабиблиотека

Файлы хранятся в таблице b_file — это центральный реестр всех файлов в системе. Поля: ID, MODULE_ID, HEIGHT, WIDTH, FILE_SIZE, CONTENT_TYPE, SUBDIR, FILE_NAME, ORIGINAL_NAME, DESCRIPTION, HANDLER_ID.

Медиабиблиотека добавляет поверх этого структуру папок через b_medialib_collection и связку файлов с коллекциями через b_medialib_item. Каждый элемент (b_medialib_item) содержит поля KEYWORD (теги через запятую) и DESCRIPTION.

Для полноценного DAM недостаёт: иерархических тегов, связи с продуктами каталога, истории версий, прав на уровне файла.

Расширение метаданных

Пользовательские свойства медиафайлов добавляются через пользовательские типы в b_uts_medialib_item. Таблица создаётся автоматически при добавлении UF-полей через интерфейс:

Настройки → Пользователи → Пользовательские поля → Тип объекта: MEDIALIB_ITEM

Типичный набор полей для DAM:

  • UF_COPYRIGHT — правообладатель (строка)
  • UF_LICENSE — тип лицензии (список)
  • UF_EXPIRY_DATE — срок действия прав (дата)
  • UF_USAGE_RIGHTS — области применения (множественный список)
  • UF_PHOTOGRAPHER — автор (строка)

После добавления полей они доступны в интерфейсе медиабиблиотеки и через API CMedialibItem::GetList().

Связка DAM с каталогом

Главная задача DAM в интернет-магазине — связать медиафайлы с товарами так, чтобы одно изображение использовалось в нескольких местах без дублирования файла. В Битрикс это решается через свойство инфоблока типа «Привязка к элементам медиабиблиотеки».

Создаётся свойство в инфоблоке каталога с типом E:MEDIALIB — это привязка к b_medialib_item.ID. При изменении файла в медиабиблиотеке все товары, использующие его, автоматически получают обновлённую версию.

Поиск по медиабиблиотеке

Стандартный поиск по b_medialib_item работает только по NAME и KEYWORD. Для поиска по UF-полям нужен кастомный запрос:

$items = CMedialibItem::GetList([
    'order'  => ['ID' => 'DESC'],
    'filter' => [
        'KEYWORD' => 'product-photo',
        'UF_LICENSE' => 'royalty-free',
    ],
    'arSelectFields' => ['ID', 'NAME', 'FILE_ID', 'UF_COPYRIGHT'],
]);

Для полнотекстового поиска по метаданным подключается модуль search — в методе CSearch::Index() индексируются поля UF.

Загрузка через API

Программная загрузка файла в медиабиблиотеку с метаданными:

CModule::IncludeModule('fileman');

$fileId = CFile::SaveFile([
    'name'       => 'product-main.jpg',
    'type'       => 'image/jpeg',
    'tmp_name'   => '/tmp/upload.jpg',
    'MODULE_ID'  => 'fileman',
], 'medialib');

$itemId = CMedialibItem::Add([
    'COLLECTION_ID' => $collectionId,
    'FILE_ID'       => $fileId,
    'NAME'          => 'Фото товара',
    'KEYWORD'       => 'каталог, сезон-2024',
    'FIELDS'        => [
        'UF_COPYRIGHT' => 'Acme Studio',
        'UF_LICENSE'   => 'royalty-free',
    ],
]);

Что входит в настройку

  • Аудит текущей структуры медиабиблиотеки и файлового хранилища
  • Создание иерархии коллекций под нужды проекта
  • Добавление UF-полей для расширенных метаданных
  • Настройка связки медиабиблиотеки с инфоблоком каталога
  • Реализация расширенного поиска по метаданным
  • Настройка прав доступа к коллекциям по группам пользователей