Вивантаження на торговельні майданчики

Порівняння вивантажень на різні Торгові майданчики

Частина 1 - Яндекс.Маркет

Перше, що спадає на думку, якщо згадувати про торгових майданчиках - це Яндекс.Маркет. І, що приємно, за обсягом і подробиці документації його перевершує хіба що Google Merchant Center.

Отже, з чого почати?
Перевіримо то, що вже є у Бітрікс.
Зайшовши в адміністративну частину Бітрікс в меню Магазин -> Експорт даних, ми з радістю виявляємо заповітну сходинку Yandex.
Переходимо в розділ, починаємо заповнювати поля.

Перша перешкода. Який тип опису вибрати - vendor.model або спрощений? Покопавшись в документації, приходимо до висновку, що vendorCode немає у вимогах Яндекса, тому вибираємо спрощений варіант.
Запускаємо Експорт у Бітрікс. Вивантаження є, але вона не підходить, тому що немає багатьох пунктів, обов'язкових для розділу Одягу (Яндекс.Гардероб).


Варіант А. Купити додаток на Маркетплейсе.

Варіант Б. кастомизировать вивантаження.

Варіант А підходить, якщо у вас немає ніяких надприродних взаємодій в вашому каталозі.
Наприклад, в магазині з прикладу була особливість - фотографії товару були тільки у одного торгового пропозиції для певного кольору (причому ця пропозиція могло бути в нульовому кількості). Тобто, у вас є плаття синього і зеленого кольору, кожен колір є для розмірів 44 і 46. Тільки ось картинки для зеленого є тільки у розміру 44 (якого немає в наявності), а для синього - у 46. Шанс, що покупної модуль вміє правильно обробляти подібну ситуацію досить малий. І не тому, що модуль поганий, а тому що таких ситуацій - тисячі, і кожна індивідуальна для окремо взятого сайту. Але якщо ваш сайт все ж залишився стандартним - встановлюйте собі пробну версію, перевіряйте - можливо, вам пощастить і ніяких зайвих трудовитрат не буде.

Але це не наш випадок. Значить, зупиняємося на варіанті Б. Виникає питання - і скільки часу доведеться витратити, щоб кастомизировать цю вивантаження? Питання хороший і багато в чому залежить від програміста. Але якщо ви один раз дійсно добре її кастомізіруете - так, що можна буде міняти набір параметрів зміною парою рядків - то перероблення вивантаження на інші магазини, сайти або типи вивантажень буде займати у вас всього пару годин, а то й менше.

Частина 2 - Як працює стандартна вивантаження

Але, чесно кажучи, бачу в цьому сенс, тільки якщо ви збираєтеся продавати ваш модуль. Якщо немає - то великий шанс витратити на це більше часу, ніж потім отримати користі.

Крім того, стандартна вивантаження має великий недолік: при кількості товарів більше 3000 починає їсти настільки багато пам'яті на сервері, що саме вивантаження вмирає.

Перейдемо до головної страви. Це run-файл - власне, саме він створює результуючий файл вивантаження.

На початку файлу йде Назва вигрзкі - саме ця назва буде висвітлюватися в списку експортом.

Далі йдуть всякі допоміжні виклики. З цікавого можна відзначити функції

yandex_replace_special - замінює спецсимволи на їх символи-мнемоніки
yandex_text2xml - також прибирає або замінює зайві спецсимволи
yandex_get_value - отримує значення параметрів з властивостей товарів

Тип каталогу
Каталог на сайті може бути 4 типів:
D - інфоблок є торговим каталогом
O - інфоблок містить торгові пропозиції (SKU)
P - інфоблок товарів, що мають торгові пропозиції, але сам торговим каталогом не є
X - інфоблок товарів, що мають торгові пропозиції, при це сам інфоблок теж є торговим каталогом.

Тобто, для D і Про - це каталог в одному ІБ, P і X - каталог в двох ІБ: товарів і торгових пропозицій.

Один і той же код складання offer'а написаний 4 рази на кожній гілці. Що досить дивно і незручно для змін. Особливо якщо ваш каталог X-типу: вивантаження буде проходити по гілках 2 і 4 або 3 і 4 (2 або 3 - в залежності від типу цін). Тобто, будь-які зміни доведеться робити мінімум в двох місцях. Тому, якщо вже все одно братися переписувати - то краще все повторювані частини винести в окремі функції. Такі як: обчислення ціни, пошук картинок, висновок назви і опису і так далі.

Назва та опис
Тут все передбачувано - назва береться з назви, опис - з опису. Але є нюанс - в назву - з назви торговельної пропозиції, а опис - з анонсу, при цьому обрізається до 255 символів.

параметри
Це найцікавіша частина. Стандартна вивантаження цілком непогано справляється з ізвлеканія значень з бітріксових властивостей за допомогою функції yandex_get_value (). передаючи їй як параметри масив з властивостей торгового пропозиції і товару. І повертаючи на виході такі рядки
Значення властивості через кому
Помилки тут немає, але упущено безліч нюансів. Назва властивості може не збігатися з назвою параметра Яндекс.Маркет, кожне нове значення властивості може бути в новому параметрі (наприклад, картинки з властивості MORE_PHOTO повинні записуватися в окремі теги ), В одному параметрі може поєднуватися кілька властивостей, наприклад:

150

Одиниця виміру може міститися в одну властивість, а власне значення - в іншому. А що говорити, коли одиницею вимірювання можуть бути мл, а можуть бути грами - тоді в залежності від цього потрібно вказувати різні назви параметра - Обсяг або Вага.
І до слова про вагу - параметр (Вага брутто) приймає значення тільки в кілограмах, з 3 знаками після коми. І що робити, якщо на нашому сайті ця вага зберігається в грамах?
Писати свою функцію-обробник параметрів.
Отже, мій спосіб:
  1. Змінюємо функцію yandex_get_value (). щоб вона повертатися не рядок, а масив з ключами ID, CODE, NAME, VALUE.
  2. Пишемо масив з потрібними нам параметрами згідно з документацією Яндекс.Маркет. Кожен елемент має вигляд:

Де STR містить шаблон рядки з заглушками, які підставляються з відповідних властивостей з PROPS, при цьому дана рядок записується, тільки якщо спрацьовує CONDITION (якщо масив - то йде порівняння, якщо рядок - запускається функція з даними назвою), застосовуючи функцію-модифікатор з MODIFICATION для значення.

Далі пишемо функцію, яка приймає на вхід властивості товару і торговельної пропозиції (в цей масив можна додати і ціни, назви і все, що ще потрібно), проходить через наш масив параметрів і застосовує їх до цих свойствам.Конечно, це не панацея, і напевно може знайтися ситуація, коли потрібно буде дописувати милиці. Але більшу частину перерахованих вище проблем вона цілком вирішує. Хіба що з картинками потрібно буде ще трохи повозитися, але це вирішується досить просто.

Частина 3 - Нам підходить вивантаження для Яндекс.Маркет », говорили вони ...

Що стосується інших майданчиків - то вони так чи інакше схожі на один з перерахованих вище варіантів, з точністю до назви тегів.

Але, звичайно, у всіх є свої особливості, тому що тільки сам Яндекс.Маркет знає, як обробляти свою вивантаження, а решта - хто на що здатний. Тому до фрази «нам підходить вивантаження для Яндекс.Маркет» варто ставитися скептично і заздалегідь припускати, що доведеться довго і болісно видавлювати інформацію з менеджерів цього майданчика. Або включати свій «третє око» і здогадуватися про їхні проблеми з вивантаженням з що вийшло каталогу.

Все вивантаження працюють і приносять стабільні замовлення якісь більшою мірою, якісь в меншій.
Ми можемо зробити для вас вивантаження на будь-які торгові майданчики, і займатися їх веденням. Для цього заповніть форму нижче.

Схожі статті