Изменение номера заказа на его id
Актуально для версии 2.9.1
Иногда необходимо сделать так, чтобы номер заказа соответствовал его id. Как правило, подобная необходимость возникает из-за того, что менеджеры путаются в заказах - т.е., к примеру, в мойсклад уходит id, а на сайте виден номер заказа, то же самое с оплатой, на сайт платежа уходит id а менеджеры видят только номер заказа. Можно сделать так, чтобы номер заказа и был id этого заказа, в таком случае дальнейшей путаницы можно избежать. Для этого необходимо добавить новый файл в classes/modules/emarket/classes/orders/number/ , назовем файл id.php.
В этот файл необходимо вставить следующий код:
<?php
class idOrderNumber implements iOrderNumber {
protected $order;
public function __construct(order $order) {
$this->order = $order;
}
public function number() {
$sel = new selector('objects');
$sel->types('object-type')->name('emarket', 'order');
$sel->order('number')->desc();
$sel->limit(0, 1);
$number = $sel->first ? ($sel->first->number + 1) : 1;
$order = $this->order;
$name_id = $order->id;
$order->name = getLabel('order-name-prefix', 'emarket', $name_id);
$order->number = $number;
$order->commit();
return $number;
}
};
?>
Теперь в файле config.ini в блоке [modules] необходимо строку
emarket.numbers = "default"
заменить на следующую:
emarket.numbers = "id"
После данных манипуляций, новые заказы будут выглядеть примерно так: