Підготовка фотографій товарів для 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Підготовка фотографій товарів для 1С-Бітрікс
Середня
~1-2 тижні
Часті питання

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Підготовка фотографій товарів для 1С-Бітрікс

Сирі фотографії не завантажуються в Бітрікс у тому вигляді, в якому вони виходять з камери або від постачальника. Потрібна попередня обробка: правильний розмір, правильний формат, правильна структура папок. Завантаження 6-мегабайтних RAW-конвертів напряму в /upload/ вбиває швидкість сайту і засмічує базу даних записами в b_file.

Підготовка фотографій товарів для 1С-Бітрікс

Технічні вимоги до файлів для Бітрікс

Бітрікс зберігає зображення в таблиці b_file (метадані) і фізично в /upload/. При завантаженні через адміністративний інтерфейс або API Бітрікс автоматично створює зменшені версії (/upload/resize_cache/) за параметрами, заданими в компонентах.

Оптимальні параметри вихідників для завантаження:

Параметр Значення
Максимальний розмір по довгій стороні 2000–2400 пікселів
Формат JPEG (основний), PNG для товарів з прозорістю
Якість JPEG 80–85%
Колірний профіль sRGB (не AdobeRGB — браузери не вміють його коректно відображати)
Максимальний розмір файлу 500 KB для картки, 200 KB для превью
DPI 72–96 (веб, не друк)

Бітрікс при виводі через компонент bitrix:catalog.element перемасштабовує зображення до розмірів, заданих у параметрах (DETAIL_IMAGE_SIZE). Завантажувати файли більше 2400px безглуздо — Бітрікс все одно створить версію вказаного розміру, але вихідник займе місце на диску і в базі.

Структура іменування файлів

До завантаження в Бітрікс файли мають бути перейменовані за єдиним стандартом. Бітрікс зберігає оригінальне ім'я файлу в b_file.ORIGINAL_NAME. За іменами файлів потім можна буде відновити зв'язки, знайти потрібні зображення.

Рекомендована схема іменування:

{артикул}_{порядковий номер}.jpg

Приклади:

grohe-33265002_1.jpg   <- головне фото
grohe-33265002_2.jpg   <- фото збоку
grohe-33265002_3.jpg   <- фото деталей
grohe-33265002_4.jpg   <- фото в інтер'єрі

Пакетна підготовка зображень

Автоматизація через ImageMagick:

#!/bin/bash
# Підготовка папки з вихідниками для завантаження в Бітрікс
INPUT_DIR="./raw"
OUTPUT_DIR="./ready"
mkdir -p "$OUTPUT_DIR"

for file in "$INPUT_DIR"/*.{jpg,jpeg,JPG,JPEG,png,PNG}; do
    [ -f "$file" ] || continue
    filename=$(basename "$file")
    name="${filename%.*}"

    # Ресайз, конвертація в sRGB, JPEG, оптимізація
    convert "$file" \
        -auto-orient \
        -resize "2000x2000>" \
        -colorspace sRGB \
        -strip \
        -quality 82 \
        -interlace Plane \
        "$OUTPUT_DIR/${name}.jpg"

    echo "Processed: $filename"
done

Прапори:

  • -auto-orient — виправляє орієнтацію за EXIF (важливо для мобільних фото)
  • -resize "2000x2000>" — зменшує лише якщо більше 2000px, не збільшує
  • -strip — прибирає EXIF-метадані (GPS-координати, дані камери)
  • -interlace Plane — прогресивний JPEG, швидше сприймається при завантаженні

Масове завантаження в Бітрікс через API

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

// Маппінг: артикул → ID елемента
$articleToId = [];
$res = \CIBlockElement::GetList(
    [], ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'],
    false, false,
    ['ID', 'PROPERTY_ARTICLE']
);
while ($el = $res->Fetch()) {
    if ($el['PROPERTY_ARTICLE_VALUE']) {
        $articleToId[$el['PROPERTY_ARTICLE_VALUE']] = $el['ID'];
    }
}

// Завантаження зображень з папки
$directory = new \DirectoryIterator('/path/to/ready/');
$grouped   = []; // Групуємо за артикулом

foreach ($directory as $file) {
    if ($file->isDot() || $file->getExtension() !== 'jpg') continue;

    // Парсимо артикул з імені файлу: "grohe-33265002_1.jpg"
    preg_match('/^(.+)_(\d+)\.jpg$/', $file->getFilename(), $m);
    if (!$m) continue;

    [$, $article, $order] = $m;
    $grouped[$article][(int)$order] = $file->getPathname();
}

foreach ($grouped as $article => $images) {
    $elementId = $articleToId[$article] ?? null;
    if (!$elementId) continue;

    ksort($images);
    $imageFiles = array_values($images);

    $el = new \CIBlockElement();
    $el->Update($elementId, [
        'DETAIL_PICTURE'  => \CFile::MakeFileArray($imageFiles[0]),
        'PREVIEW_PICTURE' => \CFile::MakeFileArray($imageFiles[0]),
    ]);

    // Галерея — властивість типу «Файл»
    if (count($imageFiles) > 1) {
        $gallery = array_map(
            fn($path) => ['VALUE' => \CFile::MakeFileArray($path)],
            array_slice($imageFiles, 1)
        );
        \CIBlockElement::SetPropertyValueCode($elementId, 'GALLERY', $gallery);
    }
}

Формати зображень: WebP

Бітрікс не генерує WebP автоматично. Для підтримки WebP — два підходи:

  1. На рівні nginx: модуль webp_rewrite конвертує JPEG/PNG у WebP на льоту, якщо браузер підтримує формат. Конвертовані версії кешуються.

  2. Дублюючі властивості: окрема властивість GALLERY_WEBP з WebP-версіями, шаблон компонента вибирає формат через <picture>.

Терміни

Обсяг Терміни
Підготовка і завантаження фото для 100 товарів (1–3 фото на товар) 1–2 робочих дні
Підготовка і завантаження фото для 500 товарів 1 тиждень
Налаштування pipeline автообробки для регулярних поставок 1–2 дні