Нормер заказа minishop2
Подскажите как можно поменять формат номеров заказа в minishop2, сейчас ониимеют вид «xxxx/xx» где последние две цифры номер заказа, нужно оставить просто номер заказа
Комментарии: 5
За генерацию номера отвечает функция getnum в классе msOrderHandler.
bezumkin.ru/modx/minishop2/classes/804/
Пишите свой обработчик.
Вообще, было бы круто вынести это в настройки.
bezumkin.ru/modx/minishop2/classes/804/
Пишите свой обработчик.
Вообще, было бы круто вынести это в настройки.
спасибо, поменял на:
$sql = $this->modx->query("SELECT `num` FROM {$table} WHERE `id` > '1' ORDER BY `id` DESC LIMIT 1");
$num = $sql->fetch(PDO::FETCH_COLUMN);
if (empty($num)) {$num = '1';}
$num = ''.($num + 1);
Не проще ли тогда уж id заказа вместо номера везде выводить?
Нынешние номера понятнее, потому что отображают «год-месяц/порядковый номер».
Нынешние номера понятнее, потому что отображают «год-месяц/порядковый номер».
Василий, как реализовать вывод id заказа вместо номера?
Василий, добрый день!
Я пытался сделать через переопределение метода, но возникает такая проблема modx.pro/help/15156#comment-110022
Хотел просто убрать слеш в номере заказа.
В php файле сделал так:
Через консоль выполнил
Я пытался сделать через переопределение метода, но возникает такая проблема modx.pro/help/15156#comment-110022
Хотел просто убрать слеш в номере заказа.
В php файле сделал так:
<?php
class myOrderHandler extends msOrderHandler {
public function getNum()
{
$cur = date('ym');
$num = 0;
$c = $this->modx->newQuery('msOrder');
$c->where(array('num:LIKE' => "{$cur}%"));
$c->select('num');
$c->sortby('id', 'DESC');
$c->limit(1);
if ($c->prepare() && $c->stmt->execute()) {
$num = $c->stmt->fetchColumn();
}
if (empty($num)) {
$num = date('ym') . '/0';
}
$num = explode('/', $num);
$num = $cur . '' . ($num[1] + 1);
return $num;
}
}
В системной настройке ms2_order_handler_class указал myOrderHandler.Через консоль выполнил
if ($miniShop2 = $modx->getService('miniShop2')) {
$miniShop2->addService('order', 'Numorder',
'тут путь до php фала'
);
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.