msOneClick - «Купить в один клик»

Приложение создает заказ в интернет-магазине minishop2, а так же может отправлять заказ в виде письма на указанный e-mail адрес.


Для работы необходимо вставить сниппет на страницу с товаром [[!msOneClick]] и у вас появится кнопка Купить в 1 клик

Демо сайта



В miniShop2 добавляются метод доставки и метод оплаты «Быстры заказа» и назначаются для создания заказов через модельное окно. В настройка приложения можно изменить эти способы.

Возможности


  • Быстрая отправка заказа через модельное окно.
  • Готовый шаблон модельного окна с формой на bootstrap.
  • Внедрение в любую часть сайта:
    • на странице с товаром
      [[!msOneClick]]

    • В категориях и на других страницах
      [[!msOneClick? &id=`[[+id]]`]]
  • Вывод заголовка, цены и превью изображения товара в модельном окне.
  • Два режима работы:
    • MS — создание заказа в minishop2

    • MAIL — отправка на email менеджера без создания заказа в minishop2
  • Красивый вывод ошибок для обязательных полей.
  • Возможность добавления своих сниппетов в модельное окно
  • Добавление в форму своих полей с проверкой на обязательность заполнения.
  • По умолчанию маска телефонного номера +_ (___) ___-____, можно задать свою маску
  • Проверка обязательных полей (по-умолчанию receiver,phone,email) можно указать еще дополнительные поля в настройках.
  • Неограниченное количество вызовов сниппета msOneClick с разными настройками на одной странице странице.

Отправка заказа


  • Вывод номера заказа после отправки формы и создания заказа в minishop2
  • Отправка сообщения о новом заказе на e-mail
  • Редактирование шаблонов сообщений

Вызов модельного окна


Для создания заказа в miniShop2:
[[!msOneClick?
    &id=`5`
    &create_order=`MS`
]]

Для отправки сообщения на e-mail:
[[!msOneClick?
    &id=`5`
    &create_order=`MAIL`
    &email_method_mail=`mail@mail.ru`
]]

Стоимость 990 руб.

Купить в интернет-магазине

Андрей Степаненко
10 ноября 2016, 19:15
6
5 086
+14
Поблагодарить автора Отправить деньги

Комментарии: 62

Bluetenstadt
11 ноября 2016, 01:08
0
Т.е. ток заказать?
Оплата не прикручивается?

Маска телефонного номера +_ (___) ___-____
изменять можно?
    Андрей
    11 ноября 2016, 02:20
    +2
    Оплата, доставка и другие сервис слишком сложны для внедрения в быстрый заказ через модельное окно. Это уже получится не быстрый заказ а корзина обычная. Здесь реализован механизм имено быстрого заказа с быстрым внедрением и стандартными полями для заказов, а так же выводом изображения цены и заголовка.
    Если есть желание то можно и сниппет корзины вставить, правда результат уже будет от рук зависить.

    Маску телефона, сразу не сделал)) раз надо значит сделаю.
    И если не нужно создава заказ в минишоп то можно просто отправить менеджеру на емвил. В принцепи можно это приложение использовать как для формы обратной связи и других возможных форм.
      but1head
      11 ноября 2016, 05:50
      +1
      Когда то делал оформление в модалке с оплатой, просто нужно вывести обрезанный чанк оформления, на весь минишоп один скрипт.
        Андрей
        11 ноября 2016, 09:15
        0
        Сделать то не проблема, проблема в дальнейшем использовании. Если взять готовый проект куда можно встроить это приложение с минимальным количеством времени.
        То с полноценой корзиной так не получится, так как в ней не только поля оформления заказа но и другие индивидуальные фишки которые должны работать.

    Андрей Степаненко
    11 ноября 2016, 03:11
    +1
    Добавил ввод маски
Дмитрий Суворов
11 ноября 2016, 14:37
0
Круто! Как раз то что нужно было)
v2254303
14 ноября 2016, 22:27
+2
Идея для доработки, или нового компонента — нашли дешевле? Если вы найдете товар дешевле, снизим цену.
По статистике моих магазинов на другом движке функция пользуется спросом у покупателей.
Еще очень сообщить о снижении цены. Ну и сообщить о поступлении если товар отсутствует.
Данные функции можно объединить, логика простая, сообщить администратору магазина о желании человека купить и его контакты а дальше уже созвон и продажа
adminixi
07 января 2017, 19:01
0
А с mFilter работает?
    Андрей Степаненко
    07 января 2017, 19:33
    0
    Да он не зависит от него.
      adminixi
      07 января 2017, 19:36
      0
      Т.е., если я вставлю его в tpl.msProducts.row, который находится внутри mFilter — все будет работать?
Rootiys
27 января 2017, 01:39
0
Установил сегодня и сразу баг нашел.

Если установлен Clientconfig — то панель администратора Clientconfig не работает.
Если отключить плагин msOneClick — то Clientconfig работает норм.
youtu.be/CHPX4tZY-4s
    Андрей Степаненко
    27 января 2017, 07:01
    +1
    Есть технический поддержка modstore.pro/cabinet/tickets/ можно было туда написать.
    Да действительно Clientconfig конфликтует.
    Баг исправлен. Обновите приложение.
Илья
20 марта 2017, 14:30
0
Скажите, а с обычными ресурсами работать будет?
Igor Ivanov
10 апреля 2017, 11:59
+1
А на сайте без bootstrap будет работать из коробки?
    Андрей Степаненко
    10 апреля 2017, 12:15
    0
    Будет, если у вас для форм есть свои стили для указанных классов. Но сообщения jgrow которыемв месте с минишопом подключаются в любом случае нужнв. Там есть настройки для указания сообственных стилей.
Лазарев Роман
20 июня 2017, 09:50
0
Скажите, а можно одновременно, что бы и заказ в Минишоп2 создал и письмо менеджеру отправил?

т.е. вот так сделать:
[[!msOneClick?
    &id=`5`
    &create_order=`MS`
    &create_order=`MAIL`
    &email_method_mail=`mail@mail.ru`
]}
Лазарев Роман
20 июня 2017, 12:17
0
del
Igor Ivanov
09 сентября 2017, 07:02
0
Как подключить гугл капчу к нему?
    Павел
    23 сентября 2017, 22:45
    0
    +1, подскажите, как правильней
Сергей
09 сентября 2017, 21:13
-1
А если у товара надо выбирать размеры/цвет?
Oleg Pimanov
25 сентября 2017, 10:21
0
Добрый день! Внезапно выяснилось, что не работает данное приложение в Опере, это как-то можно оперативно исправить? Ваш демо-пример тоже не работает в Опере.
    Андрей Степаненко
    25 сентября 2017, 10:26
    0
    У меня все работает. И даже разработка этого приложения было именно в опере.
    В большем количество случаев неработает только по причине того что на сайте есть неисправные скрипты js.
    Либо программист уже переделал под себя (опять же не правильно) какой то из скриптов либо minishop либо приложения.
Oleg Pimanov
25 сентября 2017, 10:52
0
Я открываю Ваш демо пример msp.bustep.ru/msoneclick.html и он у меня в опере не работает, я поэтому и пишу, ничего я там не менял, вывод Ваш про ставил и все, пишет ошибку «Не удалось получить конфиг формы»
    Максим
    04 июня 2018, 12:04
    0
    Да, такая же проблема. Не важно какой браузер.
    msOneClick периодически выдает сообщение «Не удалось получить конфиг формы».
    Может день работать, второй не работать. При чем к сайту никто не лезет. Максимум кеш чистится.
Юрий
26 октября 2017, 16:01
0
Добрый день! У меня в списке товара у каждого товара есть форма oneClick, из-за этого очень ругается валидатор на дублирование ID prntscr.com/h0gjxz
Как это можно исправить?
    Максим
    24 мая 2018, 06:58
    0
    Да, тоже заметил, бред такой )) у всех кнопок одинаковый id )) Но, главное работает.
Юрий
26 октября 2017, 16:08
0
Еще такой момент, к каталоге есть похожие товары, реализованы через owl Carousel 2.2.1 prntscr.com/h2a21m, при нажатии на стрелки карусели, или просто передвигать мышей, начинает в конце генерироваться непонятно что, пример "#63f8ffd80b9b2631f748302a218e3e0d" и так постоянно генерируется(. Так и на других сайтах где есть карусель… из за этого хеша начинаются проблемы с кнопкой назад в браузере, если мы 5 раз прокрутили товар в слайдере, то 5 раз нужно нажать на кнопку назад, чтобы вернутся на предыдущую страничку… это ужасно не удобно. Как это можно решить?
Сергей Макаров
11 ноября 2017, 19:56
0
Доброе время суток! не совсем понятно как подключать Вывод опций в форме с передачей параметров — то что по умолчанию — размер и цвет!
Заранее огромное спасибо
Андрей
06 февраля 2018, 20:41
0
Подскажите, у меня сайта н https — при нажатии на кнопку «Купить в 1 клик» появляется ошибка
Заблокирована загрузка смешанного активного содержимого «http://www.site.ru/assets/components/msoneclick/action.php»
Связано с тем, что загрузка к action.php идет не через http. Как решить данный вопрос, подскажите пожалуйста?
Максим
23 мая 2018, 20:40
0
Не работает параметр сниппета «tplModal».
    Максим
    23 мая 2018, 21:02
    0
    Хотя нет, работает, почистил кэш.
Максим
24 мая 2018, 06:52
0
А для чего в чанке формы два раза id и два раза price передается в скрытых input?
<input type="hidden" name="price" value="[[+price]]">
<input type="hidden" name="product_id" value="[[+product_id]]">

<input type="hidden" name="hash" value="[[+hash]]">
<input type="hidden" name="price" value="[[+price]]">
<input type="hidden" name="id" value="[[+id]]">
И, кстати, почему-то {$old_price} не отображается.
Антон
04 июля 2018, 15:27
0
Будет обновление под Bootstrap 4?
    Андрей Степаненко
    06 июля 2018, 09:30
    0
    Пока не планируется.
    Там если нужно можно подправить верстку.
    Или какие то иные проблемы возникают для Bootstrap 4?
Eiry
20 июля 2018, 14:38
0
Я использую компонент с Bootstrap 4, всё работает, но верстку править приходится. Думаю, вообще почти всем нужно править верстку, у всех же разные задачи ;)

У меня вопрос по проверке обязательных полей: мне не нужно поле e-mail, в системных настройках отключил его, а при отправке заказа всё равно говорит «Заполните обязательные поля», тогда я вставил из стандартного чанка формы поле с e-mail, скрыл его через d-none и вписал туда в value рандомный e-mail — так всё заработало, заказ отправляется. Но костыль же!
    Андрей Степаненко
    20 июля 2018, 15:34
    0
    Возможно у вас в minishop проверяет обязательные поля а не msoneclick. Посмотрите Настройки минишопа
      Eiry
      20 июля 2018, 16:17
      0
      Я отправляю через режим работы MAIL, минишоп вроде бы не при чем. Но она по идее должна влиять и на обычный заказ через корзину, а уж там e-mail мне ессно нужен.
      Не могу найти, что за настройка минишопа, которая имеется в виду.
        Андрей Степаненко
        03 августа 2018, 05:52
        0
        Внес корректировку по этой проблеме.
        Теперь если email адрес не обязателен и при отправке поле оказывается пустым то автоматически генерируется свой email либо можно указать на какой конкретно емаил создавать все заказы.

        Проблемам вот в чем:

        Minishop ввел в последних версиях чтобы способ доставки был включен обязательно, без этого заказ не отправляется.
        Пришлось допилить чтобы при отправке заказа способ доставки включался и у него проверялись обязательные поля назначенные в minishop. Это решила проблему если есть email адрес.

        Но в minishop еще добавлена проверка email адреса принудительно.
        То есть если в способах доставки убрать email из обязательных полей, он все ровно будет проверятся в обработчике msorderhandler.class.php
        public function getDeliveryRequiresFields($id = 0)
            {
                if (empty($id)) {
                    $id = $this->order['delivery'];
                }
                /** @var msDelivery $delivery */
                if (!$delivery = $this->modx->getObject('msDelivery', array('id' => $id, 'active' => 1))) {
                    return $this->error('ms2_order_err_delivery', array('delivery'));
                }
                $requires = $delivery->get('requires');
                $requires = empty($requires)
                    ? array()
                    : array_map('trim', explode(',', $requires));
                if (!in_array('email', $requires)) {
                    $requires[] = 'email';
                }
        
                return $this->success('', array('requires' => $requires));
            }
        Так что только такое решение. Убрать email адрес совсем, нету возможности.
Марина Шипилова
12 августа 2018, 00:45
0
Здравствуйте, Андрей. Подскажите, пожалуйста, 2 момента:
1.Пишите, что сейчас опции не передаются в окно. Планируется возвращение этой передачи или это принципиальное решение? Просто это очень неудобно. Человек получается потыкал разные опции — нажал быстро купить и там или не заметил, что вообще все заново и отправил или заметил и приходиться тыкать заново. Это очень не френдли для заказчиков.
2.Заказы, оформленные через форму быстрого заказа, не отображаются в статистике яндекса в отчетах электронной коммерции. Через компонент «msYaEcommerce». Это можно поправить?
    Андрей Степаненко
    15 августа 2018, 10:49
    0
    1. По опциям исправил, теперь передаются.
    2. msYaEcommerce — по всей видимости реагирует на событие js minishop отправка корзины! У msOneClck свои механизм при отправке. На всякий случай добавил событие msoneclick_after_sendorder которое срабатывает после отправки формы. Как точно msYaEcommerce отправляет статистику я не знаю.

    пример кода:
    // Событие после отправки формы
        $(document).on('msoneclick_after_sendorder', function (e, response) {
             if (response.success) {
              // Форма отправлена
            }
            else {
                // Произошла ошибка
            }
        })
    Обновляейтесь
    Андрей Степаненко
    15 августа 2018, 11:02
    0
    Можете попробовать написать автору дополнения чтобы он учел событие «msoneclick_after_sendorder» у себя в компоненте,

    Так как учитывает события minishop(отправка корзины) в компоненте msOneClick не стоит, ибо отправка корзины и отправка быстрого заказа различаются тем что после отправки в msOneClick товары в корзине остаются. Ну и потом на событие минишоп могут реагировать и другие дополнения.
Denis
14 августа 2018, 20:13
0
Вечер добрый, а как можно сделать ссылку на оплату?
    Андрей Степаненко
    15 августа 2018, 10:56
    0
    modstore.pro/packages/integration/msoneclick
    Возможности добавления своего способа оплаты и доставки в компоненте нету! По умолчанию при создании заказа способ оплаты и доставки выбран быстрый заказ.
Руслан Сафин
04 декабря 2018, 18:19
0
Пара строк для открытия в окне fancybox 3
case 'fancybox':
    msOneClick.Modal.show = function () {
        $.fancybox.open({
        	src  : $(msOneClick.options.modal),
        	type : 'inline',
        })
    }
    msOneClick.Modal.hide = function () {
        $.fancybox.close({
        	src  : $(msOneClick.options.modal),
        	type : 'inline',
        })
    }
    break
Илья
16 декабря 2018, 23:42
0
Здравствуйте!
Подскажите, мне необходимо вывести изображение: вместо [[+product.thumb]] нужно [[+small]]
Перепробовал всё, не смог вывести.
Как это сделать?
Илья
14 января 2019, 11:43
0
Ругается касперский и блокирует работу компонента:
    Андрей Степаненко
    14 января 2019, 11:45
    0
    Подскажите, у вас случайно не бесплтаный ssl сертификаты подключены?
      Илья
      14 января 2019, 11:51
      0
      Да, бесплатный от modhost — Lets Encrypt
        Андрей Степаненко
        14 января 2019, 11:56
        1
        0
        Вот касперский как раз и ругается на это.
        Данные когда шифруются, каким то чудесным образом беспллатные шифровальщики не верно их отдают.
        Из этого вытикает что касперский может ругатся. Причем пальцем в небо. У кого то может и ничего не говорить.
        Если убрать https подключение, то касперский вообще ничего не скажет.
        Просто откроется модельное окно с формой.

        Вообще решение конечно странно, но оно работало:
        Надо данные формы шифровать в base64 и потом с помощью js расшифровывать и уже их вызывать.

        По крайне мере один из пользователь так пробовал делать.
        На данный момент не реализовывал этот функционал.
          Sergey
          27 февраля 2019, 14:43
          0
          Добрый день! Проблема возникла видимо такая же. На сайте тоже https. Вызвал на страничке с товаром [[!msOneClick]] Кнопка появилась, а вот кликая по ней, ничего не происходит, нет попапа, и нет даже в инспекторе загруженной формы. Только вот что там есть:

          <script type="text/javascript">
          	if(typeof jQuery == "undefined") {
          		document.write("<script src=\"/assets/components/msoneclick/js/web/lib/jquery.min.js\" type=\"text/javascript\"><\/script>");
          	}
          </script>
          <script type="text/javascript">AjaxForm.initialize({"assetsUrl":"\/assets\/components\/ajaxform\/","actionUrl":"\/assets\/components\/ajaxform\/action.php","closeMessage":"\u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435","formSelector":"form.ajax_form","pageId":5});</script>
            Андрей Степаненко
            27 февраля 2019, 14:49
            0
            Думаю что у вас явно в логах ошибка!
            prntscr.com/mqt06s

            А ошибка вызвана какие то скриптом у вас на сайте. из за него весь js не работает
              Sergey
              27 февраля 2019, 14:58
              0
              Ошибок в консоли нет. Весь js на сайте работает.
              https://cdn1.savepice.ru/uploads/2019/2/27/395c44cd3d9996680fbf9e13c9d2c1a3-full.png

              При клике на кнопку, кнопка становиться
              <a href="test-tovar.html#" class="oneClick btn_one_click disabled" data-hash="03a463d5cee02d15ae1a0915c4d54bc6" data-product="5">Купить в 1 клик</a>
                Андрей Степаненко
                27 февраля 2019, 15:05
                0
                Напишите пожалуйста ко мне в тех поддержку с предоставлением ссылки на сайт.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.