Як змінити номер замовлення в Мадженто

Завдання: змінити номер замовлення при оформленні покупки в магазині на CMS Мадженто на більш короткий, наприклад, п’ятизначний і який містить букви.

 

Теорія:

Дані по замовленнях зберігаються в базі даних Мадженто в наступних таблицях:

eav_entity_store
eav_entity_type

 

В таблиці eav_entity_store є два стовпці (опції):

increment_prefix – автоматичний префікс приросту (перші значки, цифри) при формуванні номера замовлення

increment_last_id – останні зафіксовані замовлення (їх повні номера – id) в системі

 

 

В таблиці eav_entity_type налаштовується формат номера замовлень/доставок/інвойсів/повернень і т.д.

У цій таблиці нас цікавлять рядки order, invoice, shipment (їх значення в стовпці entity_type_id) і стовпець increment_pad_length.

Значення в стовпці increment_pad_length визначають кількість цифр в номері замовлення (без врахування префікса). За замовчуванням це 8.

 

 

Вихідні дані: нам потрібно, щоб наступний номер замовлення (доставки, інвойсу) починався з абревіатури нашої компанії (SW), стартував з 25 і містив всього п’ять цифр. Наприклад, повинен вийти номер SW25005.

 

Рішення:

1) для початку потрібно дізнатися використовувані в таблиці eav_entity_type значення entity_type_id (код операції). У нашому прикладі це:

  • 11 – ID для замовлень (order)
  • 19 – ID для доставки (shipment)

 

2) потрібно дізнатися використовувані в таблиці eav_entity_store значення для store_id (код магазину):

  • 1 – для дефолтної версії сайту
  • 8 – для української версії сайту

 

3) оновлюємо поле increment_prefix в таблиці eav_entity_store:

з 8 на SW25 для записів із store_id 8 в полях entity_type_id зі значеннями 11 (це для номера замовлення) і значенням 19 (це для номера доставки)

 

4) змінюємо поле increment_last_id в цій же таблиці на останній необхідний номер:

  • для номера замовлення з 800000512 на SW25005
  • і для номера доставки з 800000512 на SW25005

 

5) змінюємо для тих же ID операцій в таблиці eav_entity_type в полі increment_pad_length на 3 (довжина номера замовлення без префікса).

 

Фінальний результат: наступне замовлення в магазині буде мати номер SW25006.

 

Recent Posts

Що таке Unix Domain Socket: секретний тунель у Linux

У нашій подорожі світом сокетів ми почали з "верхнього поверху" — WebSocket у браузері, потім…

2 дні ago

Мережеві сокети (Network Sockets): фундамент інтернету 🌐 | Глибоке занурення

У попередній статті ми говорили про WebSockets — технологію, що дозволяє створювати інтерактивні чати в…

3 дні ago

Як доглядати за шкірою малюка влітку та взимку

Шкіра немовляти – тонка та ніжна. Ще не справляється із захистом організму від зовнішніх факторів.…

4 дні ago

Що таке Сокети (WebSocket) 🔌 | детально для початківців

Уявіть собі телефонну розмову. Ви дзвоните другу, він піднімає слухавку, і ви можете говорити одночасно,…

5 днів ago

Мобільний воркстейшн: чи може планшет 📱 замінити ноутбук веб-розробнику?

Довгий час планшети сприймалися виключно як пристрої для споживання контенту: подивитися YouTube, погортати стрічку новин…

6 днів ago

Як примусово оновити кеш у користувачів 🧹 | Практичні методи

Ви внесли правки в CSS, виправили критичний баг у JavaScript, завантажили файли на сервер і…

1 тиждень ago