Как изменить номер заказа в Мадженто

Задача: изменить номер заказа при оформлении покупки в магазине на 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:

c 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

WordPress как Headless CMS 🧠 | практично с REST API

WordPress годами был непревзойденным "монолитом": он отвечал и за удобную админ-панель, и за хранение данных,…

7 часов ago

Тандем Nginx + Apache 🤝 Как совместить скорость и гибкость

В мире веб-серверов часто говорят о противостоянии Nginx vs Apache. Но что, если бы я…

1 день ago

Что такое Apache HTTP Server: 📜 Надежный ветеран веб-серверов

Когда я начинал свой путь в веб-разработке, вопрос "какой веб-сервер использовать?" практически не стоял. Ответ…

3 дня ago

Что такое Nginx: почему он быстрее Apache? 🚀 | Инструкция + Конфиги

Когда речь заходит о веб-серверах, два имени всегда на слуху: Apache и Nginx. Apache —…

3 дня ago

Знакомство с Docker для веб-разработчика 🐳 | Установка и основы

В мире веб-разработки мы постоянно сталкиваемся с проблемой: "А у меня на компьютере все работает!".…

4 дня ago

Зачем веб-разработчику виртуальная машина (VM) 🖥️

На заре моей карьеры веб-разработчика все было относительно просто: установил локальный сервер (помните Denwer?), положил…

5 дней ago