16 января 2023, 13:15 Привет, разобрались?) Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16 0
16 января 2023, 13:15 Привет, разобрались?) Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16 0
13 октября 2020, 14:26 Пообщались и сделали следующее, может кому пригодится. Добавьте в настройку msstatorders_grid_order_fields поле address_properties Если вы хотите сделать вывод столбцов меток, нужно написать плагин на событие msStatOrdersOnPrepareObjectRow пример для utm_source <?php if (!is_object($self) OR $self->classKey !== 'msOrder' OR $type !== 'getlist') { return; } $data = is_array($data) ? $data : array(); $properties = is_array($data['address_properties']) ? $data['address_properties'] : json_decode($data['address_properties'], 1); $data['utm_source'] = isset($properties['utm_source']) ? $properties['utm_source'] : ''; $modx->event->returnedValues['data'] = $data;и уже потом в msstatorders_grid_order_fields добавить utm_source Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16 0 1
07 сентября 2020, 15:50 Добавлено в версию 1.0.5-beta :) Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16 0
15 июля 2020, 19:59 Да, планируется. В minishop2 есть поле properties :) Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16 0
12 июля 2018, 02:24 Ну если хотите сделать вывод заказов на своем сайте, имею ввиду не в админке, то ничего сложного в этом нет. Читаете документацию и вперед. Есть кстати уже готовое, только не приходилось использовать https://modstore.pro/packages/integration/mslistorders Вопросы / [MiniShop2] Мобильная страница заказов для менеджера 3 -1
28 декабря 2017, 21:04 Ах да, ещё docs.modx.pro/components/pdotools/general-settings#Способы-вызова-чанков Вопросы / pdoResources + phpThumbOn с @INLINE 11 0
28 декабря 2017, 20:50 А пробовали phpThumbOn запускать без кеша? Вопросы / pdoResources + phpThumbOn с @INLINE 11 0
28 декабря 2017, 19:07 А зачем использовать @INLINE? Вопросы / pdoResources + phpThumbOn с @INLINE 11 0
16 ноября 2017, 21:42 Наверное попробую реализовать через AjaxSnippet Новые дополнения и их версии / [QuickView] - быстрый просмотр в модальном окне. 81 0
16 ноября 2017, 17:39 Здравствуйте. У меня возник вопрос. Мне необходимо вывести каталог с товарами в модальном окне. Прежде чем приобрести, попробовал на тестовом хостинге это воплотить, товары выводятся, всё гуд, но у меня не работает пагинация, то есть страница обновляется. Вызов pdopage осуществляется в чанке. При включении ajax в pdopage, товары не появляются вообще. Не подскажите возможно ли это сделать данным дополнением? Спасибо! P.S. также пробовал через сниппет с параметрами, тоже самое. Новые дополнения и их версии / [QuickView] - быстрый просмотр в модальном окне. 81 0
02 мая 2017, 16:08 PS Совсем забыл выложить готовый код. Сейчас пользователя не перекидывает на оплату, а просто выводиться страница с его оформленными заказами и там уже ссылки на оплату. А как это сделать, уже совсем другая история :) Сейчас после оформления заказов формируются след. вида ссылки: domain.ru/cart?msorder=23,24. Просто нужно скопировать сниппет msGetOrder и немного его переделать :) <?php class msTest extends msOrderHandler { public function submit($data = array()) { $response = $this->ms2->invokeEvent('msOnSubmitOrder', array( 'data' => $data, 'order' => $this, )); if (!$response['success']) { return $this->error($response['message']); } if (!empty($response['data']['data'])) { $this->set($response['data']['data']); } $response = $this->getDeliveryRequiresFields(); if ($this->ms2->config['json_response']) { $response = json_decode($response, true); } $requires = $response['data']['requires']; $errors = array(); foreach ($requires as $v) { if (!empty($v) && empty($this->order[$v])) { $errors[] = $v; } } if (!empty($errors)) { return $this->error('ms2_order_err_requires', $errors); } $cart = $this->ms2->cart->get(); $products = array(); $partners = array(); $idOrders = array(); foreach ($cart as $v) { if(!in_array($v['vendor'],$partners)){ $partners[] = $v['vendor']; } } foreach ($partners as $partner){ $user_id = $this->ms2->getCustomerId(); $cart_status = $this->ms2->cart->status(); $delivery_cost = $this->getCost(false, true); $createdon = date('Y-m-d H:i:s'); $cart_cost = 0; $weight_cost = 0; // Adding products foreach ($this->ms2->cart->get() as $v) { if ($partner == $v['vendor']){ if ($tmp = $this->modx->getObject('msProduct', $v['id'])) { $name = $tmp->get('pagetitle'); } else { $name = ''; } /** @var msOrderProduct $product */ $product = $this->modx->newObject('msOrderProduct'); $product->fromArray(array_merge($v, array( 'product_id' => $v['id'], 'name' => $name, 'cost' => $v['price'] * $v['count'], ))); $cart_cost = $cart_cost + ($v['price'] * $v['count']); //собираем стоимость заказа для партнера $weight_cost = $weight_cost + $v['weight']; $products[] = $product; $key = md5($v['id'] . $v['price'] . $v['weight'] . $v['vendor'] . (json_encode($v['options']))); $remove = $this->ms2->cart->remove($key); //Удаляем товар из корзины } } /** @var msOrder $order */ $order = $this->modx->newObject('msOrder'); $order->fromArray(array( 'user_id' => $user_id, 'createdon' => $createdon, 'num' => $this->getNum(), 'delivery' => $this->order['delivery'], 'payment' => $this->order['payment'], 'cart_cost' => $cart_cost, 'weight' => $weight_cost, 'delivery_cost' => $delivery_cost, 'cost' => $cart_cost + $delivery_cost, 'status' => 0, 'context' => $this->ms2->config['ctx'], 'partner' => $partner, )); // Adding address /** @var msOrderAddress $address */ $address = $this->modx->newObject('msOrderAddress'); $address->fromArray(array_merge($this->order, array( 'user_id' => $user_id, 'createdon' => $createdon, ))); $order->addOne($address); $order->addMany($products); $response = $this->ms2->invokeEvent('msOnBeforeCreateOrder', array( 'msOrder' => $order, 'order' => $this, )); if (!$response['success']) { return $this->error($response['message']); } if ($order->save()) { $response = $this->ms2->invokeEvent('msOnCreateOrder', array( 'msOrder' => $order, 'order' => $this, )); if (!$response['success']) { return $this->error($response['message']); } if (empty($_SESSION['minishop2']['orders'])) { $_SESSION['minishop2']['orders'] = array(); } $_SESSION['minishop2']['orders'][] = $order->get('id'); // Trying to set status "new" $response = $this->ms2->changeOrderStatus($order->get('id'), 1); if ($response !== true) { return $this->error($response, array('msorder' => $order->get('id'))); } unset($products); } else{ $this->modx->log(1, 'Oh no, the wand failed to save!'); } $idOrders[] = $order->get('id'); } $this->ms2->cart->clean(); $this->clean(); /*$this->modx->sendRedirect( $this->modx->context->makeUrl( $this->modx->resource->id, array('msorder' => $response['data']['msorder']) ) );*/ /** @var msPayment $payment */ /*if ($payment = $this->modx->getObject('msPayment', array('id' => $order->get('payment'), 'active' => 1)) ) { $response = $payment->send($order); if ($this->config['json_response']) { @session_write_close(); exit(is_array($response) ? json_encode($response) : $response); } else { if (!empty($response['data']['redirect'])) { $this->modx->sendRedirect($response['data']['redirect']); } elseif (!empty($response['data']['msorder'])) { $this->modx->sendRedirect( $this->modx->context->makeUrl( $this->modx->resource->id, array('msorder' => $response['data']['msorder']) ) ); } else { $this->modx->sendRedirect($this->modx->context->makeUrl($this->modx->resource->id)); } return $this->success(); } } else {*/ if ($this->ms2->config['json_response']) { return $this->success('', array('msorder' => implode(",", $idOrders))); } else { $this->modx->sendRedirect( $this->modx->context->makeUrl( $this->modx->resource->id, array('msorder' => implode(",", $idOrders)) ) ); } return $this->success(); return $this->error(); } } Вопросы / Формирование нескольких заказов в miniShop2 6 +2
20 апреля 2017, 15:43 Спасибо большое за алгоритм!!! Вопросы / Формирование нескольких заказов в miniShop2 6 0
20 апреля 2017, 12:34 Ахах ну хорошо, буду думать дальше)) Пока понял только то, что я return $this->success(); в цикле, а не после его выполнения, из-за этого приходится несколько раз нажимать оформить заказ. Вопросы / Формирование нескольких заказов в miniShop2 6 0
19 апреля 2017, 17:03 Вот так получить можно содержимое корзины. P.S/ смотрите в журнале ошибок $tmp = $cart->get(); $modx->log(1, print_r($tmp, 1)); Вопросы / MiniShop 2 плагин msOnBeforeAddToCart 3 +2 1
16 февраля 2017, 02:14 Здравствуйте. В обновлении указано что добавили пункты доставок, скажите пожалуйста как их получить? Как еще получить выбранный город после Ajax запроса? Просто написал свой сниппет, который получает город, но только он работает после перезагрузки. Спасибо! Новые дополнения и их версии / msCDEK 1.0.0: расчет доставки ТК СДЕК 59 0
10 февраля 2017, 18:08 Московское метро. Только без МЦК. Просто нет API Яндекс.Метро, ну или я не нашел :c Готовые решения / Сборка сайта агентства недвижимости 47 0
10 февраля 2017, 17:54 Если необходим поиск по карте метро, то могу выслать исходники. (сама схема png + JS) Что-то сравнение в демо не работает Готовые решения / Сборка сайта агентства недвижимости 47 0
03 февраля 2017, 20:15 Спасибо за смайлики. А не подскажите, как сделать, чтобы в <code></code> они не отображались? Спасибо! Готовые решения / [Tickets] Комментарии со смайликами 7 0
UiCMPGenerator дополнение для создания пакетов Ближе к сентябрю, основная загвоздка это создание нормальной документации и видео обзора, а так пакет как бы уже готов
Личный кабинет на Sendit - не удается сбросить пароль Хм, в массиве поле extended приходит пустым, временного пароля там нет. Сам тестовый юзер изначально был зареген в группу Users с правами доступа в личный кабинет (по обычной инстр...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
msImportExport не сохраняет родителя по умолчанию Компонент не понимает кирилические домены при загрузку фото. пример: Error download. Url : https://антаресдвери.рф/upload/iblock/a50/a50b2ef45305a3c18f6e298f1e134880.jpg. Message...
Добавьте в настройку msstatorders_grid_order_fields поле address_properties
Если вы хотите сделать вывод столбцов меток, нужно написать плагин на событие msStatOrdersOnPrepareObjectRow
пример для utm_source
и уже потом в msstatorders_grid_order_fields добавить utm_source
В minishop2 есть поле properties :)
Есть кстати уже готовое, только не приходилось использовать https://modstore.pro/packages/integration/mslistorders
docs.modx.pro/components/pdotools/general-settings#Способы-вызова-чанков
Мне необходимо вывести каталог с товарами в модальном окне. Прежде чем приобрести, попробовал на тестовом хостинге это воплотить, товары выводятся, всё гуд, но у меня не работает пагинация, то есть страница обновляется.
Вызов pdopage осуществляется в чанке. При включении ajax в pdopage, товары не появляются вообще.
Не подскажите возможно ли это сделать данным дополнением? Спасибо!
P.S. также пробовал через сниппет с параметрами, тоже самое.
Сейчас после оформления заказов формируются след. вида ссылки: domain.ru/cart?msorder=23,24.
Просто нужно скопировать сниппет msGetOrder и немного его переделать :)
Пока понял только то, что я в цикле, а не после его выполнения, из-за этого приходится несколько раз нажимать оформить заказ.
P.S/ смотрите в журнале ошибок
Как еще получить выбранный город после Ajax запроса? Просто написал свой сниппет, который получает город, но только он работает после перезагрузки.
Спасибо!
Просто нет API Яндекс.Метро, ну или я не нашел :c
Что-то сравнение в демо не работает