Изменение формирования номера следующего заказа и имени заказа — различия между версиями
Po4emu4ka (обсуждение | вклад) |
Po4emu4ka (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 5: | Строка 5: | ||
'''default''' – это класс для расчета номера следующего заказа. Сам файл находится по пути: | '''default''' – это класс для расчета номера следующего заказа. Сам файл находится по пути: | ||
+ | |||
'''\classes\modules\emarket\classes\orders\number\default.php''' (для старой реализации модулей) | '''\classes\modules\emarket\classes\orders\number\default.php''' (для старой реализации модулей) | ||
Строка 14: | Строка 15: | ||
</pre> | </pre> | ||
А в папке | А в папке | ||
+ | |||
\classes\modules\emarket\classes\orders\number\ (для старой реализации модулей) | \classes\modules\emarket\classes\orders\number\ (для старой реализации модулей) | ||
\classes\components\emarket\classes\orders\number\ (для новой реализации модулей) | \classes\components\emarket\classes\orders\number\ (для новой реализации модулей) | ||
+ | |||
создать файл '''custom.php''', следующего содержания: | создать файл '''custom.php''', следующего содержания: | ||
<source lang="php"> | <source lang="php"> |
Текущая версия на 07:29, 7 мая 2018
В конфигурационном файле config.ini, в секции [modules] есть такое значение:
emarket.numbers = "default"
default – это класс для расчета номера следующего заказа. Сам файл находится по пути:
\classes\modules\emarket\classes\orders\number\default.php (для старой реализации модулей)
\classes\components\emarket\classes\orders\number\default.php (для новой реализации модулей)
Поэтому для изменения логики, можно в config.ini указать:
emarket.numbers = "custom"
А в папке
\classes\modules\emarket\classes\orders\number\ (для старой реализации модулей)
\classes\components\emarket\classes\orders\number\ (для новой реализации модулей)
создать файл custom.php, следующего содержания:
<?php
class customOrderNumber 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;
$order->name = 'umitest ' . $number;
$order->number = $number;
$order->commit();
return $number;
}
};
?>
В итоге, при формирования номера и имени заказа будет использоваться класс customOrderNumber и имя заказа будет примерно в таком виде:
umitest 345