завдання
Новий магазин на готовій темі, підготовлений саме під цю поліграфію: меню й фільтри, кошик, що розуміє тиражі, прорахунок з оплатою з ПДВ або на ФОП, Нова Пошта, файл макета до замовлення і KeyCRM в обидва боки — товари й ціни на сайт, замовлення назад.
найскладніше: два різні типи товарів
Одяг і промотовари приходять із фіду постачальника в розмірах і кольорах і продаються з брендуванням — вишивка, термоперенос, УФ-друк та інше: 20 методів, кожен із ціною за тираж у 137 рівнях, прив’язані до категорій магазину за таблицею самого клієнта (парасолі, наприклад, без нанесення). Поліграфія приходить із KeyCRM зі своїми осями — тираж, папір, оздоблення.
У WooCommerce обидва типи перетворились на варіації, 40 097 штук. Лише брошура на скобі мала 380, і її сторінка важила 2,6 МБ HTML. Сортування категорії за ціною ставило першими 873 товари з нульовою ціною і працювало повільно. Синхронізація з CRM перезаписувала знижки й позначала поліграфію «немає в наявності» — у неї просто немає залишку, який можна рахувати.
що зроблено
- Плагін каталогу з власними таблицями — товари, варіанти, осі, методи й рівні брендування, налаштування категорій, прогони синхронізації, журнал змін. Один товар, одна ціна, без варіацій.
- Два джерела, фід постачальника й KeyCRM, зведено до однакових осей — у даних CRM одна й та сама властивість записана двома написаннями, і сітка розмірів інакше подвоювалась.
- Конфігуратор на сторінці товару: колір, сітка розмірів, метод нанесення, тираж. Кількості за розмірами мають скластися в тираж, а ціна перераховується на сервері, і в кошику теж.
- Замовлення передають усю конфігурацію в KeyCRM.
- Міграція хвилями, з пробним звітом про відповідність і продовженням після обриву; потім уся база для релізу зібрана офлайн, бо на хостингу немає терміналу, — код архівом, дані готовим дампом для phpMyAdmin. Перевірено перед релізом: жодних розбіжностей у назвах, текстах, фото чи категоріях на 3 074 товарах.
що не знадобилось
Ні нової теми, ні платного плагіна-конфігуратора, ні змін у тому, як клієнт працює в KeyCRM.
де зараз
Магазин працює на тестовому домені, доки не замінить нинішній сайт клієнта; під час переносу старим адресам знадобляться редиректи — окремою задачею. Нічній синхронізації потрібне крон-завдання, якого хостинг поки не дає, — до того вона запускається кнопкою в адмінці.