Нормер заказа 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 фала'
    );
}            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.