Заказчик электроинструментов жалуется: "У нас 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% и снижает количество вопросов в поддержку на треть. Учитываем адаптивность: на мобильных устройствах миниатюры подстраиваются под ширину экрана, ссылки остаются кликабельными.
Что входит в работу?
- Анализ текущей структуры каталога — определяем, какие товары требуют сертификатов, оцениваем объём данных.
- Проектирование схемы хранения — выбираем вариант (свойство или отдельный инфоблок), настраиваем права доступа.
- Разработка шаблона — дорабатываем
catalog.elementилиcatalog.item, добавляем блок вывода сертификатов с учётом мобильной версии. - Импорт/загрузка документов — помогаем заполнить сертификаты через CommerceML или CSV, проверяем корректность привязок.
- Тестирование — проверяем на разных браузерах и устройствах, убеждаемся, что ссылки работают, файлы открываются.
- Документация и обучение — описываем процесс добавления новых сертификатов, передаём инструкцию вашему контент-менеджеру.
Сроки и как начать
| Этап | Время |
|---|---|
| Анализ и проектирование | от 2 часов |
| Разработка шаблона | 2–4 часа |
| Наполнение и тестирование | от 1 дня (зависит от количества товаров) |
| Полная настройка «под ключ» | 1–3 дня |
Стоимость рассчитывается индивидуально после ознакомления с вашим проектом. Мы работаем с Битрикс более 5 лет и выполнили свыше 50 интеграций торговых каталогов.
Кэширование и производительность при большом каталоге
При большом количестве товаров (1000+) запрос к инфоблоку может замедлить загрузку карточки. Решение: кэшировать результат запроса на 1 час с инвалидацией по тегу при изменении элемента. В шаблоне карточки оборачиваем блок в тегированный кэш Битрикс:
- Тег кэша:
iblock_id_+ числовой идентификатор инфоблока - Инвалидация: обработчик
OnAfterIBlockElementUpdateсбрасывает тег черезCBitrixTaggedCache::ClearByTag() - Время хранения: 3600 секунд
Такой подход снижает число SQL-запросов к таблице b_iblock_element_property в 50–100 раз при одновременном посещении карточки товара несколькими покупателями.
Закажите консультацию — покажем, как это будет выглядеть на вашем сайте. Оценим проект в течение дня. Получите консультацию инженера Битрикс — это бесплатно и ни к чему не обязывает.







