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

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

С нами с 11 ноября 2014; Место в рейтинге пользователей: #206
Владимир Бабусенко
20 января 2017, 15:44
2
+3
Недавно была такая задача.
<?php
$prodID = $_POST['prodID']; //id продуктов
$quantity = $_POST['quantity']; //количество продукта

//MiniShop2
$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->cart->clean();
        $miniShop2->order->clean();
        //Новые данные заказа
        $miniShop2->order->add('delivery',1); //доставка самовывоз
        $miniShop2->order->add('payment',1); //новый-неоплаченный
        $miniShop2->order->add('email', 'email'); 
        $miniShop2->order->add('comment',$_POST['comment']); //можно комментарий добавить

// Добавляем товары в корзину, если надо
foreach ($prodID as $k => $v){
     //Добавляем товары в корзину
    $miniShop2->cart->add($v, $quantity[$k]); //(id товара, кол-во товара)
}

//Формируем заказ
$miniShop2->order->submit();
При таком все события вызываются, письма отправляются.
Владимир Бабусенко
20 января 2017, 14:19
1
0
Спасибо! Проблема решена, нашел тут же…
session_cookie_domain = mysite.com
Владимир Бабусенко
08 декабря 2016, 10:41
0
Разобрался с этим. Изучив класс ms2 офрмления заказа метод submit. Там идет редирект на этот же ресурс с гет параметром номером заказа. Происходило зацикливание оформления заказа...))
Владимир Бабусенко
06 декабря 2016, 19:16
0
Такое происходит только при $miniShop2->order->add('payment', 1); При оплате 3 и 4 (это онлайн) все нормально
Владимир Бабусенко
06 декабря 2016, 13:47
0
Сначала не понял, но потом разобрался… Спасибо, вроде то что нужно…
Владимир Бабусенко
02 декабря 2016, 14:16
0
Так и делал...., но чего то подбешивают такие ограничения xpdo....((
Владимир Бабусенко
02 декабря 2016, 13:53
0
Столкнулся тоже тут, не работает так........(( Не понимает не MONTH ни YEAR ни DATE_FORMAT…
Владимир Бабусенко
15 сентября 2016, 15:47
0
Спасибо… на досуге проверю
Владимир Бабусенко
15 сентября 2016, 13:56
0
Спасибо, а изображения в галерею товара возможно подсунуть?
Владимир Бабусенко
14 сентября 2016, 16:32
0
В общем купил msImportExport, но в принципе ответ на вопрос был бы интересным.......))
Владимир Бабусенко
13 июля 2016, 07:35
+1
Ребята, всем спасибо… то что нужно, все заработало. Можно как к сессии обратится, можно так же и и к объекту user, что по мне понятней и удобней… Всем плюсы к карме.......))
Владимир Бабусенко
12 июля 2016, 23:50
0
В общем попробовал, в обработчике id пользователя не получить… возвращает 0. Есть файл обработчик test.php
<?php
define('MODX_API_MODE', true);
// Full path to the index
require_once($_SERVER['DOCUMENT_ROOT'].'/index.php');
$modx = new modX();
$modx->initialize('mgr');

echo $modx->user->id;
кнопка в личном кабинете и запрос к обработчику…
$(document).on("click", ".test", function(){
        $.post('/assets/components/azstemplate/ajax/test.php', {  }, function(success) {

        });
    });
Что не так?
Владимир Бабусенко
12 июля 2016, 23:04
0
Хм… вы меня смутили. Когда то давно я так пытался получить id в обработчике, но получать в стороннем php файле (обработчике ajax запроса), не сниппете! не удавалось(вроде 0 возвращал всегда или ошибку, сейчас не вспомню). Естественно в файле я подключал modx. Поэтому я подумал что обработчик не знает какой пользователь инициировал его выполнение, и забил на это, стал передавать id пользователя и хэш id… Завтра проверю ваши утверждения, неужели я так жестоко ошибался… и обработчик знает id пользователя......(((
Владимир Бабусенко
12 июля 2016, 22:14
-1
B и что это дает? Речь идет про ajax… Каким образом можно воспрепятствовать нерадивому пользователю (допустим у него id=5) у которого в ЛК есть форма изменить ИМЯ. Соответственно мы должны вывести скрытое поле c id=5, значение которое передадим. Менятся будет ajax-ом. Соответственно мы должны передать в скрипт новое ИМЯ и id=5 пользователя. А скрипт уже изменит в БД у пользователя с id=5 ИМЯ на новое. НО что мешает пользователю, открыть панель разработчика увидеть это скрытое поле и поменять значение на допустим 6, соответсвенно ИМЯ изменится у пользователя в базе с id=6.
Владимир Бабусенко
14 июня 2016, 10:08
0
У блока наверняка есть класс или id, по нему и отслеживай…
Владимир Бабусенко
15 апреля 2016, 13:27
0
Календарей в сети полно, я пользовался datetimepicker (настраивается удобно, может быть с часами и минутами, или без них, интервалы и т.д.). Повесить событие на изменение, отправлять данные с 2 календарей (инпуты). На сервере проверять данные. Т.е. если выбрали ОТ, отправили на сервер. ДО (еще не выбрано) у нас нет, поэтому выборка должна до текущего времени. ДО не может быть меньше ОТ и т.д.
Выборку сделать запрос с условием что доки лежат в пределах выбранных дат data>=$start and data<=$end
Владимир Бабусенко
30 марта 2016, 21:09
0
Замечание Василия верное, но думается мне что не в этом проблема. Даже при таком коде должно работать.
Владимир Бабусенко
22 марта 2016, 20:18
0
Спасибо, попробую. Не знал о таком способе
Владимир Бабусенко
22 марта 2016, 19:54
0
Каким образом? Если построение идет однотипного списка с разными данными? В конечном итоге размер списка не постоянен.