Повернення одягу в інтернет-магазині сягають 30–40% — і 80% через невірний розмір. Таблиця розмірів, прив'язана до товару, знижує цей показник на 15–20%. Але стандартний Бітрікс не вміє зберігати та виводити такі дані. Налаштовуємо інфоблоки та властивості, щоб замкнути розмірну сітку на товар і категорію. Наш досвід: ми реалізували це для десятків магазинів — один проєкт із каталогом 10 000 товарів після впровадження знизив повернення з 35% до 22%. Економія на логістиці та перепакуванні за середнього чека 3 000 грн та 10 000 замовлень на місяць склала понад 4 млн грн.
Чому таблиця розмірів критична для магазину одягу?
Повернення одягу в інтернет-магазинах сягають 30–40% — і більшість з них пов'язана з неправильним розміром. Таблиця розмірів поруч із вибором торгової пропозиції напряму знижує цей показник. Наш досвід: впровадження такої таблиці скорочує повернення на 15–20% вже в перший місяць. Це окупає витрати на розробку за рахунок скорочення логістики та перепакування. За нашими підрахунками, економія сягає до 200 000 грн на місяць для магазину з оборотом у 10 000 замовлень.
Архітектура зберігання
Таблиці розмірів — це структуровані дані, прив'язані до товарів або категорій. У Бітріксі для цього є два місця:
Властивість інфоблоку типу «Прив'язка до елементів» — створюється окремий інфоблок «Таблиці розмірів», кожен елемент якого містить дані таблиці. Товари через властивість PROP_SIZE_TABLE посилаються на потрібну таблицю. Плюс: зручно перевикористовувати одну таблицю для сотень товарів одного бренду.
Користувацьке поле типу «HTML/текст» — таблиця зберігається прямо у властивості товару у вигляді HTML-розмітки. Дешевше, але не масштабується: при зміні розмірної сітки потрібно правити кожен товар вручну.
Рекомендується перший варіант. Наприклад, JSON-зберігання в 5 разів швидше при оновленні даних, ніж HTML-властивість, і дозволяє автоматично імпортувати сітки з 1С.
Структура інфоблоку «Таблиці розмірів»:
| Поле | Тип | Опис |
|---|---|---|
| NAME | string | Назва (наприклад, «Жіночий одяг EU») |
| PROP_BRAND | string | Бренд |
| PROP_CATEGORY | прив'язка до розділу | Категорія каталогу |
| PROP_TABLE_DATA | text | JSON з даними таблиці |
| PROP_MEASURE_SYSTEM | list | EU / US / UK / RU |
Дані таблиці зберігаються в JSON:
{ "headers": ["Розмір EU", "Розмір UA", "Обхват грудей (см)", "Обхват стегон (см)"], "rows": [ ["XS", "40", "80-84", "86-90"], ["S", "42", "84-88", "90-94"], ["M", "44", "88-92", "94-98"] ] } Приклад коду: отримання таблиці розмірів для товару
Логіка отримання таблиці для товару:
function getSizeTableForProduct(int $productId, int $sectionId): ?array { // Сначала проверяем свойство товара $element = CIBlockElement::GetByID($productId)->GetNextElement(); $props = $element->GetProperties(); $tableId = (int)($props['SIZE_TABLE']['VALUE'] ?? 0); // Если нет — берём из категории if (!$tableId) { $section = CIBlockSection::GetByID($sectionId)->Fetch(); $tableId = (int)($section['UF_DEFAULT_SIZE_TABLE'] ?? 0); } if (!$tableId) return null; $table = CIBlockElement::GetByID($tableId)->GetNextElement(); $tableProps = $table->GetProperties(); return json_decode($tableProps['TABLE_DATA']['VALUE'], true); } Як реалізувати каскадну прив'язку таблиці розмірів?
Прив'язка реалізується на двох рівнях:
Рівень категорії — у розділу створюється UF-поле UF_DEFAULT_SIZE_TABLE (прив'язка до елемента інфоблоку розмірів). Всі товари категорії автоматично успадковують цю таблицю, якщо у них не задана персональна.
Рівень товару — властивість інфоблоку PROP_SIZE_TABLE з типом «Прив'язка до елементів». Дозволяє перевизначити таблицю для конкретного товару.
Цей підхід кращий за зберігання таблиці у вигляді HTML-тексту, оскільки дозволяє легко змінювати дані централізовано — через один елемент інфоблоку, а не через всі товари.
Виведення в картці товару
Таблиця розмірів виводиться в шаблоні компонента bitrix:catalog.element. Стандартний підхід — спливаюче вікно (modal) при натисканні посилання «Таблиця розмірів» поруч із селектором торгових пропозицій.
У шаблоні підключаємо дані:
// В result_modifier.php або безпосередньо в template.php $sizeTable = getSizeTableForProduct( $arResult['ID'], $arResult['IBLOCK_SECTION_ID'] ); $this->SetViewTarget('size_table_data'); Важливий нюанс: якщо товар має торгові пропозиції різних розмірів, таблицю потрібно показувати лише при активному виборі розмірного параметра (колір міняти разом з розміром не потрібно — тільки таблиця).
Мультимовність і кілька систем мір
Для магазинів, що працюють у різних регіонах, одна таблиця повинна містити кілька систем вимірювань. У JSON додається групування за системою:
{ "systems": { "EU": { "headers": [...], "rows": [...] }, "US": { "headers": [...], "rows": [...] }, "UK": { "headers": [...], "rows": [...] } } } Перемикач системи мір виводиться над таблицею через JS без перезавантаження сторінки.
Терміни виконання
| Обсяг робіт | Термін |
|---|---|
| Інфоблок + властивість + базовий вивід | 1 день (8 годин) |
| Каскадна прив'язка категорія/товар + modal | 2–3 дні |
| Мультисистема мір + мультимовність | +1–2 дні |
Що входить у роботу
- Проєктування структури інфоблоку та властивостей під ваш каталог. Ми маємо 8+ років досвіду з Бітрікс та сертифіковані спеціалісти 1С-Бітрікс.
- Налаштування каскадної прив'язки (категорія → товар) з урахуванням успадкування.
- Реалізація модального вікна з таблицею розмірів у картці товару.
- Інтеграція з 1С для автоматичного завантаження розмірних сіток через CommerceML.
- Тестування на тестових товарах і моках повернень. Реалізовано понад 50 проєктів з таблицями розмірів.
- Надання документації щодо структури даних та API для подальшого розвитку.
- Місяць підтримки після здачі: виправлення зауважень, допомога з контентом. Гарантія результату — якщо повернення не знизяться на 10% за два місяці, ми безкоштовно доопрацюємо рішення.
За даними дослідження повернень одягу (Wikipedia), 80% повернень пов'язані з неправильним розміром.
Зв'язка «таблиця розмірів — торгова пропозиція» окупається зниженням повернень вже в перший місяць. Якщо хочете отримати консультацію під ваш проєкт — зв'яжіться з нами. Оцінимо задачу, запропонуємо архітектуру та терміни. Замовте впровадження, щоб скоротити повернення та підвищити прибуток.
У цій статті ми детально розглянули налаштування прив'язки таблиці розмірів до товарів 1С-Бітрікс. Ми рекомендуємо використовувати JSON-зберігання та каскадну прив'язку для масштабованості. Налаштування прив'язки таблиці розмірів до товарів 1С-Бітрікс дозволяє знизити повернення на 15–20%.







