Владимир Бабусенко

Владимир Бабусенко

С нами с 11 ноября 2014; Место в рейтинге пользователей: #204

Создание заказа

Есть код, создания заказа, при выполнении выдает «ошибка сайт выполнил переадресацию слишком много раз». В БД соответственно куча созданых заказов. Куда копать, подскажите…
$miniShop2 = $modx->getService('minishop2','miniShop2', MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
if (!($miniShop2 instanceof miniShop2)) return '';

// Инициализируем класс в текущий контекст
$miniShop2->initialize($modx->context->key, $scriptProperties);

$miniShop2->order->add('user_id', 3);
$miniShop2->order->add('delivery', 1);
$miniShop2->order->add('payment', 1);
$miniShop2->order->add('email', 'zzzz@mail.ru');
$miniShop2->order->add('phone', '111-222-33-44');
$miniShop2->order->add('receiver', 'Иван Иванович Иванов');
$miniShop2->order->add('comment', 'коммент');

$miniShop2->cart->clean();
$miniShop2->cart->add(164,1);
$response = $miniShop2->order->submit();
Владимир Бабусенко
06 декабря 2016, 13:47
modx.pro
2
2 372
0

Повторная оплата заказа.

Добрый день! Есть miniShop2 и модуль оплаты mspYaCassa. Допусти есть ситуация, пользователь создал заказ, выбрал оплату, перешел в платежную систему, но по какой-либо причине, прервал оплату(оформление). В системе заказ создался и остался со статусом «новый». Возможно ли пустить данный заказ на новое оформление. т.е. для пользователя в ЛК вывели этот заказ со статусом не оплачен, и кнопку оплатить, при нажатии на которую осуществляется переход на страницу оформления заказа, где можно изменить способ оплаты (или оставить как есть)… и перейти к оплате. Т.е. вроде как отложеная оплата раннего заказа… Подскажите направление, если такое возможно, Спасибо…
Владимир Бабусенко
06 декабря 2016, 09:24
modx.pro
1 105
+1

Изменить статус заказа минишоп2 с фронта

Добрый день, каким образом изменить статус заказа с нового на оплаченный с фронта, что бы вызвались все события на данное изменение. Подозреваю что нужно вызвать процессор, но какой? с какими параметрами (есть id заказа и статус — 2)…

ЗЫ:
Сделал пока так, но возможно есть способ лучше
$item = $modx->getObject('msOrder',$order_id);
$item->set('status',2);
$item->save();

$response = $modx->invokeEvent('msOnChangeOrderStatus', array(
                'order' => $item,
                'status' => $item->get('status'),
            ));
Владимир Бабусенко
09 октября 2016, 17:22
modx.pro
3
2 746
0

создание программно товара miniShop2

Добрый день!
Подскажите как создать программно товар. В принципе товар я создаю через стандартный modx процессор
$response = $modx->runProcessor('resource/create', array(
            'class_key' => 'msProduct',
            'pagetitle' => 'Товар',
            'parent' => 55,
            'template' => 11,
            'show_in_tree' => 1,

            //Данные
            'price' => 100,
    
        ));
        
        if($response->isError()){
            echo 'Ошибка';
        }else{
            echo 'Создал';
        }
Каким образом добавить (указать в процессоре) один цвет и ОДНО изображение? Возможно ли через modx процессор (возможно надо использовать miniShop-ий процессор) создать товар с этими заполненными данными. Подскажите...)
Владимир Бабусенко
14 сентября 2016, 12:42
modx.pro
6
6 448
0

Товары с разной валютой

Добрый день!
Вопрос по miniShop2. Я на 99,9% уверен что в миниШоп нельзя использовать товары с разной валютой. Т.е. один товар допустим за рубли, второй товар за евро. Но может есть 0,1% что я ошибаюсь? Думаю можно только через костыль, например через TV с обозначением валюты…
Владимир Бабусенко
02 августа 2016, 07:41
modx.pro
916
0

Определить пользователя ajax запроса

Всем добрый вечер! Как в частности на modx можно реализовать определить в скрипте к которому обращаемся ajax запросом id пользователя. Я делал так, выводил скрытое поле с id пользователем и хэшом этого id (от подменны id) передавал их и сверял на стороне сервера, но подозреваю, что это не совсем правильно, и можно реализовать через sessin_id. В БД для пользователя пишится его sessin_id, т.е. теоретически можно использовать его, передавать через ajax (насколько это правильно?). Но тут есть загвоздка, если пользователь зашел в лк через несколько браузеров sessin_id у него будет разный, а в базе один. Как вообще такие вещи делаются? Если можно подоходчивей......)) В модх есть токен, но как реализовать и использовать не совсем понимаю… просветите как грамотно делаю?
Владимир Бабусенко
12 июля 2016, 18:42
modx.pro
1 443
0

Медленный getChunk

Добрый день all!
При прогонке набора объектов (~30) через getChunk генерация занимает 0,2 сек. При увеличении объектов, конечно время генерации безобразно растет. Если непосредственно в сниппете формировать html, без getChunk, время 0,07 сек, на том же наборе объектов. Но не хочется мешать php и HTML. В чанк передаются 5 параметров, без фильтров. возможно ли как то сделать генерацию побыстрее, или смирится с этой особенностью modx?
Владимир Бабусенко
22 марта 2016, 10:33
modx.pro
1
2 897
0

Связанные таблицы и каскадное удаление

Добрый день всем! Есть проблема с удалением объектов.
Есть кастомный объект, назовем Object, с ним связан объект ObjectFiles один-ко-многим. А уже с объектом objectFiles связан один-ко-многим объект ObjectFilesDownload. Проблема возникла при удалении объекта Object. Я ожидал удаление объкта и всех связанных записей с данным объектом. Увы, объект удаляется, связанные нет. Ошибка при удалении зависимых объектов — Error removing dependent object.
Проблема из- за связи objectFiles с ObjectFilesDownload. Как обойти, в чем загвоздка?

ЗЫ: С Object у меня связаны еще несколько объектов (уже без вложений), из них удаляется все нормально.
Владимир Бабусенко
14 марта 2016, 13:01
modx.pro
901
0

Как сделать такое с помощью pdoMenu

Всем добрый день!
Снова обращаюсь к Вашему светлому разуму. Вывод с помощью pdoMenu
Владимир Бабусенко
19 февраля 2016, 10:06
modx.pro
1
1 012
+1

Ошибка 502, чертовщина какая-то

Ничего не понимаю, использую запрос вида
$sql = "
SELECT  t1.category_solution_id,
        t2.pagetitle as category

FROM `modx_mstr_solution_subcategory` as t1

LEFT OUTER JOIN `modx_site_content` as t2
ON t1.category_solution_id = t2.id

WHERE t1.solution_id = 1

ORDER BY t1.id ASC
";
$q = new xPDOCriteria($modx, $sql);
$items = $modx->getCollection('SubcategorySolution', $q);
foreach ($items as $item){
    print_r($item->toArray());
}
Владимир Бабусенко
17 февраля 2016, 23:16
modx.pro
1 847
0