Как изменить номера заказа — Opencart

Возможно, как и я, многие пользователи интернет-магазинов на движке opencart (в т.ч. и его сборок, типа CMS MaxyStore) сталкивались с необходимостью изменения номера заказа в магазине. По умолчанию, номер заказа при покупках формируется в магазине по порядку, т.е. первый заказ — заказ №1, второй — №2 и т.д. Как Вы понимаете это не совсем хорошо. Во-первых, с малым числом заказов в молодом интернет-магазине степень доверия клиентов навряд ли увеличится. Во-вторых, конкуренты могут реально посчитать ежедневное (ежемесячное) количество продаж в магазине, что также плюсов владельцу магазина не добавит. Исходя из этого наилучшим вариантом был бы такой, когда номер заказа генерировался каждый раз случайным образом (рандомно). Искал информацию в интернете как такое реализовать, но, к сожалению, ничего путевого и рабочего так и не нашел. Возможно, что плохо искал… :). Зато нашел пару таких, достаточно простых и работающих варианта. О чем и решил поделиться с вами, вдруг кому-нибудь пригодятся.

Вариант первый.

Оформляем заказ в магазине. Допустим, заказу присваивается номер 1. Далее, заходим в панель управления хостингом — БД — phpMyAdmin. В phpMyAdmin выбираем используемую БД (открываем все ее таблицы), находим oc_order, открываем ее и видим наш последний заказ с номером 1 (столбец «order_id»). Меняем номер заказа на любой другой, например, вместо «1» прописываем «1000». Следующий заказ, сделанный пользователем в интернет-магазине, будет уже имеет номер 1001. Как видим, все достаточно просто.

 

Вариант второй

В файле order.php (путь \catalog\model\checkout\order.php), после строки:

$order_id = $this->db->getLastId();

Вставляем две строчки:

$new_order_id = $order_id + 10;
	  $this->db->query("alter table `" . DB_PREFIX . "order` AUTO_INCREMENT=" .$new_order_id);

В верхней строке ($new_order_id = $order_id + 10;) мы увеличиваем номер следующего заказа на 10. Т.е., если у нас последний заказ был с номером 1 (№1), то следующий будет иметь уже номер 11, а последующий — №21 и т.п. Разумеется, вместо числа «10», можно использовать любое другое, на ваш выбор — «20», «37», «100» и т.п.

Данные способы проверял на версии opencart 1.5.5.1

Если, кому интересно, вот буржуйский модуль Random Order ID за 30$, который случайным образом генерирует номера заказов для интернет-магазинов opencart (версии v1.5.3, v1.5.3.1, v1.5.4, v1.5.4.1, v1.5.5, v1.5.5.1, v1.5.6).

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
× iOs app

To install this Web App in your iPhone/iPad press iOs sourse and then Add to Home Screen.