Konstantin B

Konstantin B

С нами с 25 февраля 2014; Место в рейтинге пользователей: #906
Konstantin B
15 мая 2021, 12:04
0
Интересное решение, но оно с ежемесячной оплатой, это черезчур. У меня уже все считается))
Konstantin B
13 мая 2021, 19:26
0
Спасибо, буду разбираться теперь с кодом минишопа)
Konstantin B
13 мая 2021, 18:34
0
Ну лупить все деливери это я понял в общем-то, а что за событие такое? Когда оно срабатывает?
Konstantin B
21 июня 2018, 23:13
2
0
В общем и целом решение нашел, странно что в документации написано объект $order, меня честно говоря это ввело в заблуждение.

Оставлю это тут, вдруг кому-то пригодится!

Как оказалось достаточно такой конструкции:

<?php
switch ($modx->event->name) {
    case 'msOnCreateOrder':
        
	    if($newStatus == true)
	    {
            $msOrder->set("status","5");
            $msOrder->save();
        }
	break;
}
Konstantin B
21 июня 2018, 22:29
0
Читал доку но через массив $order изменить не удалось в событии «msOnCreateOrder»
Пробовал таким образом:

Этот код не работает.
<?php
switch ($modx->event->name) {
    case 'msOnCreateOrder':
        $order = $modx->getOption('msOrder', $scriptProperties);
        if (!is_object($order)) { return; }
        $order->set("status",5);
	$order->save();
	break;
}
Этот код работает, но пользователь остается на странице оформления заказа, при этом заказ создается, статус меняется. Естественно это из-аз exit(), но если его убрать, то статус уже не меняется, вот такие пироги.
<?php
switch ($modx->event->name) {
    case 'msOnCreateOrder':
        $order = $modx->getOption('msOrder', $scriptProperties);
        if (!is_object($order)) { return; }
        $order_id = $order->get('id');
        $modx->log(modX::LOG_LEVEL_ERROR, $msOrder->get('id'));
        
        $miniShop2 = $modx->getService('miniShop2');
        $miniShop2->changeOrderStatus($order_id, 5);
        
        echo $modx->toJSON(array(
            'success' => true,
            'message' => '',
            'data'    => array(),
        ));
        exit(true);
	break;
}
Konstantin B
21 июня 2018, 22:25
0
Круто, реально работает, а может подскажешь какой-то другой подход, так как я меняю статус при создании заказа и скрипт по сути дальше не работает после изменения статуса, получается что пользователь остается на странице заказа, а заказ уже создан и статус у него изменился…
Konstantin B
27 февраля 2014, 19:45
0
&docid=`[[+id]]` добавь в вызов getImageList
Konstantin B
26 февраля 2014, 00:21
0
Сколько раз локаль не вызывай, работать будет только первый вызов.
Не, если setlocale() вызвать, то локаль смениться на последнюю вызванную, поэтому ее можно разобрать в плагине, в котором происходит смена контекста. Также смену локали можно вызвать в любом документе, что иногда очень удобно, но не в данном случае.