16 января 2023, 13:15 0 Привет, разобрались?) Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16
16 января 2023, 13:15 0 Привет, разобрались?) Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16
13 октября 2020, 14:26 1 0 Пообщались и сделали следующее, может кому пригодится. Добавьте в настройку 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
07 сентября 2020, 15:50 0 Добавлено в версию 1.0.5-beta :) Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16
15 июля 2020, 19:59 0 Да, планируется. В minishop2 есть поле properties :) Новые дополнения и их версии / [utmMark] - сохранения UTM меток для форм 16
12 июля 2018, 02:24 -1 Ну если хотите сделать вывод заказов на своем сайте, имею ввиду не в админке, то ничего сложного в этом нет. Читаете документацию и вперед. Есть кстати уже готовое, только не приходилось использовать https://modstore.pro/packages/integration/mslistorders Вопросы / [MiniShop2] Мобильная страница заказов для менеджера 3
28 декабря 2017, 21:04 0 Ах да, ещё docs.modx.pro/components/pdotools/general-settings#Способы-вызова-чанков Вопросы / pdoResources + phpThumbOn с @INLINE 11
28 декабря 2017, 20:50 0 А пробовали phpThumbOn запускать без кеша? Вопросы / pdoResources + phpThumbOn с @INLINE 11
28 декабря 2017, 19:07 0 А зачем использовать @INLINE? Вопросы / pdoResources + phpThumbOn с @INLINE 11
16 ноября 2017, 21:42 0 Наверное попробую реализовать через AjaxSnippet Новые дополнения и их версии / [QuickView] - быстрый просмотр в модальном окне. 81
16 ноября 2017, 17:39 0 Здравствуйте. У меня возник вопрос. Мне необходимо вывести каталог с товарами в модальном окне. Прежде чем приобрести, попробовал на тестовом хостинге это воплотить, товары выводятся, всё гуд, но у меня не работает пагинация, то есть страница обновляется. Вызов pdopage осуществляется в чанке. При включении ajax в pdopage, товары не появляются вообще. Не подскажите возможно ли это сделать данным дополнением? Спасибо! P.S. также пробовал через сниппет с параметрами, тоже самое. Новые дополнения и их версии / [QuickView] - быстрый просмотр в модальном окне. 81
02 мая 2017, 16:08 +2 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
20 апреля 2017, 15:43 0 Спасибо большое за алгоритм!!! Вопросы / Формирование нескольких заказов в miniShop2 6
20 апреля 2017, 12:34 0 Ахах ну хорошо, буду думать дальше)) Пока понял только то, что я return $this->success(); в цикле, а не после его выполнения, из-за этого приходится несколько раз нажимать оформить заказ. Вопросы / Формирование нескольких заказов в miniShop2 6
19 апреля 2017, 17:03 1 +2 Вот так получить можно содержимое корзины. P.S/ смотрите в журнале ошибок $tmp = $cart->get(); $modx->log(1, print_r($tmp, 1)); Вопросы / MiniShop 2 плагин msOnBeforeAddToCart 3
16 февраля 2017, 02:14 0 Здравствуйте. В обновлении указано что добавили пункты доставок, скажите пожалуйста как их получить? Как еще получить выбранный город после Ajax запроса? Просто написал свой сниппет, который получает город, но только он работает после перезагрузки. Спасибо! Новые дополнения и их версии / msCDEK 1.0.0: расчет доставки ТК СДЕК 59
10 февраля 2017, 18:08 0 Московское метро. Только без МЦК. Просто нет API Яндекс.Метро, ну или я не нашел :c Готовые решения / Сборка сайта агентства недвижимости 47
10 февраля 2017, 17:54 0 Если необходим поиск по карте метро, то могу выслать исходники. (сама схема png + JS) Что-то сравнение в демо не работает Готовые решения / Сборка сайта агентства недвижимости 47
03 февраля 2017, 20:15 0 Спасибо за смайлики. А не подскажите, как сделать, чтобы в <code></code> они не отображались? Спасибо! Готовые решения / [Tickets] Комментарии со смайликами 7
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска соб...
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены ...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
FileMan - прикрепление файлов к ресурсам для MODX 3 Добрый день! Может что-то с правами доступа к файлам? Посмотрите логи в modx, в php. С ходу сложно ответить, ранее не было таких случаев.
Добавьте в настройку 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
Что-то сравнение в демо не работает