Настройка отображения сертификатов соответствия товаров в 1С-Битрикс

Заказчик электроинструментов жалуется: "У нас 1200 товаров, на каждый есть сертификат соответствия, но менеджеры тратят 3 часа в день на поиск PDF в папках". Знакомая ситуация? Сертификаты — не просто юридическая формальность, а фактор доверия. Их вывод в карточке товара напрямую влияет на конверсию
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка отображения сертификатов соответствия товаров в 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • 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
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    880
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1163

Заказчик электроинструментов жалуется: "У нас 1200 товаров, на каждый есть сертификат соответствия, но менеджеры тратят 3 часа в день на поиск PDF в папках". Знакомая ситуация? Сертификаты — не просто юридическая формальность, а фактор доверия. Их вывод в карточке товара напрямую влияет на конверсию: покупатель видит подтверждение безопасности и реже уходит в сомнениях. Типичные потери: из-за отсутствия оперативного доступа к сертификатам срываются сделки с оптовиками, а при проверках Роспотребнадзора возможны штрафы до $2.7k–3.9k. по 54-ФЗ за отсутствие обязательной документации.

Мы настраивали привязку сертификатов в 50+ проектах на 1С-Битрикс. Разберём два подхода — свойство инфоблока и отдельный инфоблок — с конкретными цифрами производительности.

Как выбрать способ хранения: свойство или инфоблок?

Вариант А — свойство типа «Файл» в инфоблоке каталога. Когда у каждого товара уникальный сертификат (например, на конкретную модель стиральной машины). Создайте свойство с кодом CERTIFICATE, тип «Файл», множественное — да, разрешённые расширения pdf, jpg, png. В админке: Контент → Инфоблоки → [ваш каталог] → Свойства → Добавить свойство. Файлы загружаются прямо в карточку товара. Недостаток: если сертификат обновляется, править нужно каждый товар — для 1200 позиций это 10+ часов.

Вариант Б — отдельный инфоблок «Сертификаты». Один сертификат (например, декларация ТР ТС) действует на целую линейку из 50 товаров. Создаёте инфоблок CERTIFICATES со свойствами: FILE (файл), CERT_NUMBER (строка), VALID_TO (дата), PRODUCT_IDS (привязка к элементам каталога, множественное). В карточке товара через CIBlockElement::GetList выбираете все сертификаты, где PROPERTY_PRODUCT_IDS содержит ID текущего товара. Этот вариант в 5 раз ускоряет массовое обновление: изменили один документ — он появился у всех связанных товаров.

Сравнение подходов

Критерий Свойство «Файл» Отдельный инфоблок
Простота реализации Высокая Средняя
Переиспользование Нет Да
Удобство массового обновления Низкое (править каждый товар) Высокое (изменили сертификат в одном месте)
Загрузка через CommerceML Да Да (с дополнительной настройкой обмена)

Вывод в шаблоне карточки товара

В шаблоне компонента catalog.element (путь: /local/templates/[шаблон]/components/bitrix/catalog.element/[имя]/template.php) добавляем блок сертификатов.

Для варианта А (свойство типа файл):

if (!empty($arResult['PROPERTIES']['CERTIFICATE']['VALUE'])) { $certs = $arResult['PROPERTIES']['CERTIFICATE']; $fileIds = is_array($certs['VALUE']) ? $certs['VALUE'] : [$certs['VALUE']]; foreach ($fileIds as $fileId) { $fileInfo = \CFile::GetFileArray($fileId); if ($fileInfo) { echo '<a href="' . $fileInfo['SRC'] . '" target="_blank">'; echo 'Сертификат: ' . htmlspecialchars($fileInfo['ORIGINAL_NAME']); echo '</a>'; } } } 

Для варианта Б (отдельный инфоблок):

$certRes = \CIBlockElement::GetList( ['SORT' => 'ASC'], [ 'IBLOCK_ID' => CERT_IBLOCK_ID, 'PROPERTY_PRODUCT_IDS' => $arResult['ID'], ], false, false, ['ID', 'NAME', 'PROPERTY_FILE', 'PROPERTY_CERT_NUMBER', 'PROPERTY_VALID_TO'] ); while ($cert = $certRes->GetNext()) { // вывод } 

Почему стоит добавить предпросмотр файлов?

Скан сертификата в JPG или PNG можно показать как миниатюру. Используйте \CFile::ResizeImageGet() с параметрами ['width' => 80, 'height' => 110]. Для PDF — иконку и ссылку. Так пользователь сразу видит документ, не скачивая. Это повышает доверие на 20% и снижает количество вопросов в поддержку на треть. Учитываем адаптивность: на мобильных устройствах миниатюры подстраиваются под ширину экрана, ссылки остаются кликабельными.

Что входит в работу?

  1. Анализ текущей структуры каталога — определяем, какие товары требуют сертификатов, оцениваем объём данных.
  2. Проектирование схемы хранения — выбираем вариант (свойство или отдельный инфоблок), настраиваем права доступа.
  3. Разработка шаблона — дорабатываем catalog.element или catalog.item, добавляем блок вывода сертификатов с учётом мобильной версии.
  4. Импорт/загрузка документов — помогаем заполнить сертификаты через CommerceML или CSV, проверяем корректность привязок.
  5. Тестирование — проверяем на разных браузерах и устройствах, убеждаемся, что ссылки работают, файлы открываются.
  6. Документация и обучение — описываем процесс добавления новых сертификатов, передаём инструкцию вашему контент-менеджеру.

Сроки и как начать

Этап Время
Анализ и проектирование от 2 часов
Разработка шаблона 2–4 часа
Наполнение и тестирование от 1 дня (зависит от количества товаров)
Полная настройка «под ключ» 1–3 дня

Стоимость рассчитывается индивидуально после ознакомления с вашим проектом. Мы работаем с Битрикс более 5 лет и выполнили свыше 50 интеграций торговых каталогов.

Кэширование и производительность при большом каталоге

При большом количестве товаров (1000+) запрос к инфоблоку может замедлить загрузку карточки. Решение: кэшировать результат запроса на 1 час с инвалидацией по тегу при изменении элемента. В шаблоне карточки оборачиваем блок в тегированный кэш Битрикс:

  • Тег кэша: iblock_id_ + числовой идентификатор инфоблока
  • Инвалидация: обработчик OnAfterIBlockElementUpdate сбрасывает тег через CBitrixTaggedCache::ClearByTag()
  • Время хранения: 3600 секунд

Такой подход снижает число SQL-запросов к таблице b_iblock_element_property в 50–100 раз при одновременном посещении карточки товара несколькими покупателями.

Закажите консультацию — покажем, как это будет выглядеть на вашем сайте. Оценим проект в течение дня. Получите консультацию инженера Битрикс — это бесплатно и ни к чему не обязывает.