Задать вопрос Связаться с нами
  • Главная
  • Услуги
    • Исправление ошибок
    • Доработка сайтов
    • Обслуживание сайтов
    • Техподдержка сайтов
    • Веб-разработка
    • Интернет-магазины
  • Модули
    • Антирутин
    • SMS-уведомления
    • Импорт данных
    • Простые отзывы
    • Древовидный прайс-лист
    • Всплывающие окна
    • Редиректы для SEO
    • Восстановление данных
    • Бегущая строка
    • Утилиты от «Webdebug»
    • SMS-сообщения (Lite)

    • Все наши модули

    • Все модули Битрикс:Marketplace
  • Акции
  • Поддержка
  • Блог
  • О компании
    • Отзывы
    • Новости
    • Реквизиты

    • Контакты
  • Главная
  • Услуги
    • Исправление ошибок
    • Доработка сайтов
    • Обслуживание сайтов
    • Техподдержка сайтов
    • Веб-разработка
    • Интернет-магазины
  • Модули
    • Антирутин
    • SMS-уведомления
    • Импорт данных
    • Простые отзывы
    • Древовидный прайс-лист
    • Всплывающие окна
    • Редиректы для SEO
    • Восстановление данных
    • Бегущая строка
    • Утилиты от «Webdebug»
    • SMS-сообщения (Lite)

    • Все наши модули

    • Все модули Битрикс:Marketplace
  • Акции
  • Поддержка
  • Блог
  • О компании
    • Отзывы
    • Новости
    • Реквизиты

    • Контакты
Главная
Модули «1С-Битрикс: Маркетплейс»
Категория: Инструменты
«Купить в 1 клик + WhatsApp»: модуль для 1С-Битрикс
artmix.buyoneclick

«Купить в 1 клик + WhatsApp»: модуль для 1С-Битрикс

Разработчиком данного модуля является Артмикс
Онлайн-демо

В настоящий момент приобретение модуля возможно только напрямую у разработчика – Артмикс

  • Описание
  • Установка
  • История
  • Техподдержка
Быстро и недорого установим и настроим данный модуль на Вашем сайте!

  • Подходящие редакции 1С-Битрикс: Эксперт, Малый бизнес, Бизнес
  • Включает в себя: Компоненты, Модуль
  • Категории: Кошик, покупка
  • Название компании-партнера: Артмикс
  • Последняя версия: 1.1.5
  • Дата обновления: 16.02.2021
  • Дата публикации: 05.07.2016
  • Число установок: 100 - 499 раз
  • Адаптивность: Да
  • Поддержка композита: Да
  • Совместимо с Сайты24: Нет

Форма быстрого заказа на сайте.

Внимание! В версии 1.1.0 добавлена возможность быстрой покупки на странице корзины.

Преимущества:
  • Заказ создаётся как сущность заказа в интернет-магазине.
  • Для создания заказа нужно минимум данных.
  • Пользователь создается автоматически, если он не авторизован на сайте. Если пользователь с заданным email уже зарегистрирован, заказ будет к нему привязан.
  • Гибкое API компонента и js-скрипта быстрой покупки.
  • JS-библиотека быстрой покупки самодостаточна и не требует подключения JQuery.
  • Текущая корзина пользователя остаётся неизменной — в заказ попадает только тот товар, который был выбран для покупки в 1 клик. С версии 1.1.0 параметр компонента позволяет также подключать быструю покупку на странице корзины.
  • Все поля быстрого заказа можно использовать в почтовом шаблоне.
  • Поддержка торговых предложений.
  • Поддержка нового ядра магазина.
  • Поддержка композита.
  • Компонент написан на новом ядре D7, что даёт возможность расширения компонента.
  • Учёт заказов покупки в 1 клик в электронной коммерции Google Analitycs.
  • С версии 1.1.2 можно использовать покупку через WhatsApp для отдельного товара или корзины.
На вкладке «Установка» мы расписали самые частые кейсы модификаций и расширения нашей покупки в 1 клик:
  • Выводим форму быстрой покупки в каком-то другом всплывающем окне, например в быстром просмотре товара в каталоге.
  • Учёт заказов быстрой покупки в электронной коммерции Google Analitycs.
  • Модификация добавляемого количества товара к заказу.
  • Авторизация пользователя по своей логике.
  • Скрываем форму быстрой покупки после успешной отправки заказа.
  • Закрываем всплывающее окно быстрой покупки через 2 секунды после успешного оформления заказа.
  • Добавляем дополнительные поля в форму быстрой покупки.
Модуль поддерживает объединенные скидки торгового каталога и магазина в 16.6.0 и последующих версиях.

И еще кое-что:
Мы вернем деньги, если корректно установленный модуль не заработает на вашем сайте. Подробности в разделе «Ответы на вопросы» вкладки «Установка».

Описание установки и настройки решения

Установите модуль стандартными средствами 1С-Битрикс. В системе станет доступен модуль artmix:catalog.buyoneclick (Покупка в 1 клик (Artmix)

Для интеграции компонента «Покупка в 1 клик» на ваш сайт необходимо выполнить несколько простых шагов:
  1. Добавить вызов компонента на страницу.
  2. Интегрировать кнопку, при клике на которую, будет выводиться форма покупки в 1 клик, в ваши шаблоны компонентов каталога (catalog.section, catalog.detail, sale.basket.basket и т.п.)
Если вы не чувствуете в себе силы поставить модуль самостоятельно — напишите на mp@artmix.ru, наверняка мы сможем помочь.


Подключение компонента на страницу

Важно! Компонент artmix:catalog.buyoneclick «Покупка в 1 клик» должен быть вызван 1 раз на странице.
Это даёт нам скорость в работе сайта и гибкость в настройке компонента.

Примеры вызова компонента:
<?$APPLICATION->IncludeComponent(
   "artmix:catalog.buyoneclick", 
   ".default", 
   array(
      "COMPONENT_TEMPLATE" => ".default",
      "IBLOCK_TYPE" => "catalog",
      "IBLOCK_ID" => "2",
      "ORDER_SITE_ID" => "s1",
      "BUYER_TYPE_ID" => "1",
      "COMMENTS" => "Быстрая покупка. Имя: #NAME#, телефон: #PHONE#",
      "SUCCESS_MESSAGE" => "<div class=\"ax-buyoneclick-form-msg-success-row\">Заказ №#ORDER_ID# успешно создан.</div>",
      "PAY_SYSTEM_ID" => "1",
      "DELIVERY_ID" => "",
      "LOCATION_ID" => "",
      "PRICE_ID" => "1",
      "CURRENCY_ID" => "",
      "FIELDS" => array(
         0 => "NAME",
         1 => "PHONE",
      ),
      "REQUIRED_FIELDS" => array(
         0 => "PHONE",
         1 => "",
      ),
      "PRODUCT_ID" => "",
      "INCLUDE_PRIMARY_JS" => "Y",
      "WINDOW_TYPE" => "P",
      "LOGOUT_CREATED_USER" => "Y",
      "PRODUCT_PROPERTIES" => array(
      ),
      "OFFERS_CART_PROPERTIES" => array(
         0 => "COLOR_REF",
         1 => "SIZES_SHOES",
         2 => "SIZES_CLOTHES",
      ),
      "SEND_MAIL_SALE_NEW_ORDER" => "Y",
      "SEND_MAIL_ARTMIX_BUY_ONE_CLICK_SALE_NEW_ORDER" => "N",
      "CACHE_TYPE" => "A",
      "CACHE_TIME" => "36000000"
   ),
   false
);?>


Где подключать компонент?


Если вы используете комплексный компонент bitrix:catalog, то самое простое — это добавить подключение его на странице вызова bitrix:catalog (как пример: на странице /catalog/index.php), выше его подключения.

Если вы используете bitrix:catalog.section и bitrix:catalog.element сами по себе, то, как и в случае с bitrix:catalog, компонент покупки в 1 клик нужно вызвать на страницах их подключения.

Чем «выше» вы подключите компонент покупки в 1 клик, тем быстрее он будет отвечать на запросы.

Важно! Вызывать компонент нужно в некешируемой области страницы.


Интеграция кнопки «Покупки в 1 клик», которая будет показывать форму быстрой покупки

Пример кода кнопки в шаблоне детальной страницы товара bitrix:catalog.element
<?php
if (isset($arResult['OFFERS']) && !empty($arResult['OFFERS'])) {
   ?><a class="bx_big bx_bt_button bx_cart js-ax-buyoneclick-button"
        data-product-id=""
        href="jav * ascript:void(0)"
        data-obj-var-name="<?php echo $strObName; ?>"
        rel="nofollow">Купить в 1 клик</a><?php
} else {
   ?><a class="bx_big bx_bt_button bx_cart js-ax-buyoneclick-button"
        data-product-id="<?php echo $arResult['ID'] ?>"
        href="jav * ascript:void(0)"
        rel="nofollow">Купить в 1 клик</a><?php
}
?>

Пример кода кнопки в шаблоне страницы списка товаров bitrix:catalog.section
<?php
foreach ($arResult['ITEMS'] as $key => $arItem) {
   if (!isset($arItem['OFFERS']) || empty($arItem['OFFERS'])) {

       // ...

       ?>
       <div class="bx_catalog_item_controls"><?
       if ($arItem['CAN_BUY']) {

           // ...

           ?><a class="bx_bt_button bx_medium js-ax-buyoneclick-button"
                data-product-id="<?php echo $arItem['ID'] ?>"
                href="jav * ascript:void(0)"
                rel="nofollow">Купить в 1 клик</a><?php
       }
       ?></div><?php
   } else {
       if ('Y' == $arParams['PRODUCT_DISPLAY_MODE']) {
           ?><a class="bx_bt_button bx_medium js-ax-buyoneclick-button"
                data-product-id=""
                href="jav * ascript:void(0)"
                data-obj-var-name="<?php echo $strObName; ?>"
                rel="nofollow">Купить в 1 клик</a><?php
       }
   }
}
 

При реализации своей логики показа торговых предложений нужно указать нашей js-библиотеке какой товар сейчас выбран. Пример:
function SetOfferExample () {

   // Какой-то ваш код

   if (!!window.axBuyOnClick) {
       // Устанавливаем ID товара для покупки в 1 клик
       axBuyOnClick.setProductId(ID_ТОВАРА);
   }

}
 


Подключение компонента на странице корзины

Использование решения для быстрой покупки содержимого корзины доступно в версии 1.1.0 и выше.

Выполните следующие шаги:

1. На странице корзины пользователя до вызова компонента корзины (например, sale.basket.basket) подключите компонент artmix:catalog.buyoneclick c параметром "USE_BASKET" => "Y"

Пример вызова компонента на странице корзины:
<?$APPLICATION->IncludeComponent(
   "artmix:catalog.buyoneclick", 
   ".default", 
   array(
      "COMPONENT_TEMPLATE" => ".default",
      "IBLOCK_TYPE" => "catalog",
      "IBLOCK_ID" => "2",
      "ORDER_SITE_ID" => "s1",
      "BUYER_TYPE_ID" => "1",
      "COMMENTS" => "Быстрая покупка. Имя: #NAME#, телефон: #PHONE#",
      "SUCCESS_MESSAGE" => "<div class=\"ax-buyoneclick-form-msg-success-row\">Заказ №#ORDER_ID# успешно создан.</div>",
      "PAY_SYSTEM_ID" => "1",
      "LOCATION_ID" => "",
      "PRICE_ID" => "1",
      "CURRENCY_ID" => "",
      "FIELDS" => array(
         0 => "NAME",
         1 => "PHONE",
      ),
      "REQUIRED_FIELDS" => array(
         0 => "PHONE",
         1 => "",
      ),
      "PRODUCT_ID" => "",
      "INCLUDE_PRIMARY_JS" => "Y",
      "WINDOW_TYPE" => "P",
      "LOGOUT_CREATED_USER" => "Y",
      "PRODUCT_PROPERTIES" => array(
      ),
      "OFFERS_CART_PROPERTIES" => array(
         0 => "COLOR_REF",
         1 => "SIZES_SHOES",
         2 => "SIZES_CLOTHES",
      ),
      "USE_BASKET" => "Y",
      "SEND_MAIL_SALE_NEW_ORDER" => "Y",
      "SEND_MAIL_ARTMIX_BUY_ONE_CLICK_SALE_NEW_ORDER" => "N",
      "CACHE_TYPE" => "A",
      "CACHE_TIME" => "36000000"
   ),
   false
);?>

2. В шаблоне компонента корзины разместите код кнопки без атрибута data-product-id, например:
<a class="bx_big bx_bt_button bx_cart js-ax-buyoneclick-button"
        href="jav * ascript:void(0)"
        rel="nofollow">Оформить в 1 клик</a>
3. Если ранее вы пользовались нашим решением и копировали шаблон компонента в свой шаблон сайта для изменения, то необходимо в файл <путь к шаблону сайта>/components/artmix/catalog.buyoneclick/templates/.default/template.php добавить в код скрипта строку:
'useBasket' => $arParams['USE_BASKET'] === 'Y' ? true : false,
Должно получиться так:
<script>
    <?php if ($arParams['INCLUDE_PRIMARY_JS']) { ?>

        (function () {
            if (!!window.axBuyOnClick) {

                axBuyOnClick.setConfig(<?php
                    echo CUtil::PhpToJSObject(
                        array(
                            'requiredFields' => $arParams['REQUIRED_FIELDS'],
                            'productId' => (int) $arParams['PRODUCT_ID'],
                            'useBasket' => $arParams['USE_BASKET'] === 'Y' ? true : false,
                            'windowType' => is_string($arParams['WINDOW_TYPE'])
                                ? (string) $arParams['WINDOW_TYPE']
                                : (bool) $arParams['WINDOW_TYPE'],
                            'windowContentSelector' => '#aboc-catalog-buyoneclick-wrapper',
                            'scrollIntoViewButton' => true,
                            'focusFirstRequiredField' => true,
                            'showUserAgreeBlock' => (bool) $arParams['SHOW_USER_AGREE_BLOCK'],
                            'tplErrorRow' => Loc::getMessage('ACBOC_JS_ERROR_ROW_TPL'),
                            'tplErrorEmailRow' => Loc::getMessage('ACBOC_JS_ERROR_EMAIL_ROW_TPL'),
                            'tplErrorOrderRow' => Loc::getMessage('ACBOC_JS_ERROR_ORDER_ROW_TPL'),
                            'tplSuccessMessage' => isset($arParams['~SUCCESS_MESSAGE']) && strlen(trim($arParams['~SUCCESS_MESSAGE']))
                                ? $arParams['~SUCCESS_MESSAGE']
                                : Loc::getMessage('ACBOC_JS_SUCCESS_MESSAGE_TPL'),
                            'tplErrorUserAgreeRow' => isset($arParams['~USER_AGREE_ERROR_MESSAGE']) && strlen(trim($arParams['~USER_AGREE_ERROR_MESSAGE']))
                                ? $arParams['~USER_AGREE_ERROR_MESSAGE']
                                : Loc::getMessage('ACBOC_JS_USER_AGREE_ERROR_MESSAGE_TPL')
                        ),
                        false,
                        true
                    );
                ?>);

            }
        })();

    <?php } ?>
</script>
На этом настройка покупки в 1 клик на странице корзины окончена. При возникновении вопросов обращайтесь mp@artmix.ru


Вывод кнопки «Купить в WhatsApp»

Доступно в версии 1.1.2 и выше.

Выполните следующие шаги:

1. В настройках компонента в поле «Номер для покупки через WhatsApp» укажите телефон менеджера, который будет обрабатывать заказ в WhatsApp. Российские номера задавайте через +7.

2. В шаблон компонента вывода товара (или списка товаров) добавьте код кнопки «Купить в WhatsApp» по аналогии с кнопкой «Купить в 1 клик». Пример для компонента catalog.element:
<span class="btn ax-whatsapp-button js-ax-buywhatsapp-button"
<?if ($haveOffers){?>data-obj-var-name="<?php echo $obName; ?>"
<?}else{?>data-product-id="<?php echo $arResult['ID'] ?>"<?}?>>
    Купить в WhatsApp
</span>
3. Для покупки содержимого корзины, в шаблоне компонента корзины добавьте код кнопки:
<span class="btn ax-whatsapp-button js-ax-buywhatsapp-button">
    Купить в WhatsApp
</span>
4. Стили для кнопки «Купить в WhatsApp» заданы в файле стилей компонента. Если вы использовали наш модуль раньше и копировали шаблон компонента  в свой шаблон сайта для изменения, добавьте стили самостоятельно:
.ax-whatsapp-button {
    cursor: pointer;
    background-color: #2CB641;
    color: #fff;
}

.ax-whatsapp-button:hover {
    background-color: #48C658;
    color: #fff;
}
На этом настройка покупки в WhatsApp окончена. При возникновении вопросов обращайтесь mp@artmix.ru



Разработчикам

Доступные php-события компонента
  • onAfterCheckFields
  • onBeforeGetCurrentUserId
  • onBeforeOrderAdd
  • onAfterOrderAdd
JavaScript библиотека

<sc ript>

   BX.addCustomEvent('onAxBuyOnClickAfterCheckingFormFields', function (errors) {
       console.log(['onAxBuyOnClickAfterCheckingFormFields', errors]);
   });

   BX.addCustomEvent('onAxBuyOnClickOrderSuccessResponse', function (response) {
       console.log(['onAxBuyOnClickOrderSuccessResponse', response]);
   });

   BX.addCustomEvent('onAxBuyOnClickBeforeSendOrder', function (dataPost) {
   });

</sc ript>
 

Любой из вариантов открытия окна формы быстрой покупки реализован с помощью BX.PopupWindow, поэтому так же доступны такие события, как onAfterPopupShow, onPopupClose и т.п.


Кейс: выводим форму быстрой покупки в каком-то другом всплывающем окне, например в быстром просмотре товара в каталоге

В таком случае можно вызвать компонент быстрой покупки в самом шаблоне быстрого просмотра товара. А в шаблоне быстрой покупки добавить что-то типо:


<sc ript>
   <?php if ($arParams['INCLUDE_PRIMARY_JS']) { ?>

   var axBuyOnClickGlobalConfig = {noInit : true};

   BX.loadScript('/bitrix/js/artmix.buyoneclick/buyoneclick.js', function () {

       var axBuyOnClickConfig,
           formBuyOnClick,
           nameFieldBuyOnClick,
           phoneFieldBuyOnClick;

       if (!!window.axBuyOnClick) {

           axBuyOnClick.setConfig(<?php
               echo CUtil::PhpToJSObject(
                   array(
                       'requiredFields' => $arParams['REQUIRED_FIELDS'],
                       'productId' => (int) $arParams['PRODUCT_ID'],
                       'windowType' => is_string($arParams['WINDOW_TYPE'])
                           ? (string) $arParams['WINDOW_TYPE']
                           : (bool) $arParams['WINDOW_TYPE'],
                       'windowContentSelector' => '#aboc-catalog-buyoneclick-wrapper',
                       'scrollIntoViewButton' => true,
                       'focusFirstRequiredField' => true,
                       'tplErrorRow' => Loc::getMessage('ACBOC_JS_ERROR_ROW_TPL'),
                       'tplErrorEmailRow' => Loc::getMessage('ACBOC_JS_ERROR_EMAIL_ROW_TPL'),
                       'tplErrorOrderRow' => Loc::getMessage('ACBOC_JS_ERROR_ORDER_ROW_TPL'),
                       'tplSuccessMessage' => isset($arParams['~SUCCESS_MESSAGE']) && strlen(trim($arParams['~SUCCESS_MESSAGE']))
                           ? $arParams['~SUCCESS_MESSAGE']
                           : Loc::getMessage('ACBOC_JS_SUCCESS_MESSAGE_TPL')
                   ),
                   false,
                   true
               );
           ?>);
          
           axBuyOnClick.unBindEvents();

           axBuyOnClick.bindEvents();

           axBuyOnClickConfig = axBuyOnClick.getParams();

           formBuyOnClick = document.getElementById(axBuyOnClickConfig.form_id);

           if (!!formBuyOnClick) {

               nameFieldBuyOnClick = formBuyOnClick.querySelector('input[name="NAME"]');

               phoneFieldBuyOnClick = formBuyOnClick.querySelector('input[name="PHONE"]');

               if (!!nameFieldBuyOnClick) {
                   nameFieldBuyOnClick.focus();
               }

               if (!!phoneFieldBuyOnClick) {
                   $(phoneFieldBuyOnClick).mask('+7 (999) 999-99-99');
               }

           }

       }

   });

   <?php } ?>
</sc ript>
 

Кейс: учёт заказов быстрой покупки в электронной коммерции Google Analitycs

Достаточно добавить код:
<sc ript>
    BX.addCustomEvent('onAxBuyOnClickOrderSuccessResponse', function (response) {

        if (
            response
            && response.STATUS
            && response.STATUS == 'OK'
 && !!response.ORDER
            && !!response.SITE
            && !!response.PRODUCTS
            && response.PRODUCTS.length > 0
 ) {
            ga('require', 'ecommerce', 'ecommerce.js');

            ga('ecommerce:addTransaction', {
                'id': response.ORDER.ACCOUNT_NUMBER,
                'affiliation': response.SITE.NAME,
                'revenue': response.ORDER.PRICE,
                'shipping': response.ORDER.PRICE_DELIVERY,
                'tax': ''
 });

            for (var p = 0; p < response.PRODUCTS.length; p++) {

                ga('ecommerce:addItem', {
                    'id': response.ORDER.ACCOUNT_NUMBER,
                    'name': response.PRODUCTS[p].NAME,
                    'sku': response.PRODUCTS[p].PRODUCT_ID,
                    'category': response.PRODUCTS[p].CATEGORY,
                    'price': response.PRODUCTS[p].PRICE,
                    'quantity': response.PRODUCTS[p].QUANTITY
 });

            }

            ga('ecommerce:send');

        }

    });
</sc ript>

Кейс: модификация добавляемого количества товара к заказу


1. В шаблоне списка товаров и карточки полю с количеством товара добавляем класс js-ax-buyoneclick-product-quantity. А также атрибут data-product-id, совпадающий с одноименным атрибутом кнопки быстрой покупки. Например:
<input class="js-ax-buyoneclick-product-quantity" type="number" name="quantity" value="" data-product-id="<?php echo $arResult['ID'] ?>">
Для передачи количества в WhatsApp этого достаточно. Для быстрой покупки в модальном окне нужно выполнить шаги 2 и 3.

2. Добавляем скрипт, который будет вытаскивать это количество и передавать его в запрос к компоненту оформления заказа:
<sc ript>
  BX.addCustomEvent('onAxBuyOnClickBeforeSendOrder', function (dataPost) {
      var productId = 0;
      for (let key in dataPost) {
          if(dataPost[key].name == 'product_id'){
              productId = dataPost[key].value;
              break;
          }
      }
      var quantity = document.querySelector('.js-ax-buyoneclick-product-quantity[data-product-id="'+ productId +'"]');

      if (!!quantity && quantity.value) {
          dataPost[dataPost.length] = {
              name: 'aboc_quantity',
              value: quantity.value
           };
      }
  });

</sc ript>

Вставить можно в шаблон быстрой покупки, например. Или в общий js-файл сайта, если такой есть.

3. Добавляем php-обработчик, который модифицирует количество товара, передаваемого в заказ:
\Bitrix\Main\EventManager::getInstance()->addEventHandler('artmix.buyoneclick', 'onBeforeCalculatedPriceProduct',
    function (\Bitrix\Main\Event $e) {

        $productQuantity = Bitrix\Main\Context::getCurrent()->getRequest()->getPost('aboc_quantity');

        if (isset($productQuantity) && floatval($productQuantity) > 0) {

            return new \Bitrix\Main\EventResult(
                \Bitrix\Main\EventResult::SUCCESS,
                [
                    'QUANTITY' => floatval($productQuantity),
                ]
            );

        }

    }
);

Вставить можно в /local/php_interface/init.php если такого файла нет, то в /bitrix/php_interface/init.php



Кейс: Авторизация пользователя по своей логике

Код обработчика:
\Bitrix\Main\EventManager::getInstance()->addEventHandler('artmix.buyoneclick', 'onBeforeGetCurrentUserId',
    function (\Bitrix\Main\Event $e) {

        global $USER;

        if (!(is_object($USER) && $USER instanceof \CUser)) {
            $USER = new \CUser();
        }

        // Какая-то логика
        $USER->Authorize(16);

    }
);

Вставить можно в /local/php_interface/init.php если такого файла нет, то в /bitrix/php_interface/init.php


Кейс: скрываем форму быстрой покупки после успешной отправки заказа
<sc ript>

// Скрываем форму, после успешной отправки
BX.addCustomEvent('onAxBuyOnClickOrderSuccessResponse', function (response) {
   var formWrap, j;

   if (response && response.STATUS && response.STATUS == 'OK') {
        formWrap = document.querySelectorAll('.js-ax-buyoneclick-form .form-field-wrap');

        if (!!formWrap) {

            for (j = 0; j < formWrap.length; ++j) {
                formWrap[j].style.display = 'none';
            }

        }

   }

});

// Показываем форму, если она была скрыта
BX.addCustomEvent('onAfterPopupShow', function (popupWindow) {
    var formWrap, j;

    if (
        popupWindow
        && !!popupWindow.contentContainer
    ) {

        formWrap = popupWindow.contentContainer.querySelectorAll('.js-ax-buyoneclick-form .form-field-wrap');

        if (!!formWrap) {

            for (j = 0; j < formWrap.length; ++j) {

                if (formWrap[j].style.display == 'none') {
                    formWrap[j].style.display = '';
                }

            }

        }

    }
});

</sc ript>

Это код можно добавить в шаблон вашего сайта или в какой-то отдельный файл, в котором у вас js-скрипты.


Кейс: закрываем всплывающее окно быстрой покупки через 2 секунды после успешного оформления заказа
<script>
    BX.addCustomEvent('onAxBuyOnClickOrderSuccessResponse', function (result) {

        var popup;

        if (
            result
            && result.STATUS
            && result.STATUS === 'OK'
            && !!window.axBuyOnClick
            && !!window.axBuyOnClick.getPopupObject
            && (popup = window.axBuyOnClick.getPopupObject())
        ) {
            setTimeout(BX.proxy(popup.close, popup), 2000);
        }

    });
</script>

Это код можно добавить в шаблон вашего сайта или в какой-то отдельный файл, в котором у вас js-скрипты.


Кейс: добавление дополнительных полей формы быстрой покупки


Разберём на примере поля «Адрес».

Первым делом копируем шаблон компоненты быстрой покупки, для его правки. https://yadi.sk/i/QSolHj8635VJdc
Назовём наш шаблон template1

Создаём файл с дополнительными параметрами шаблона
/bitrix/templates/ваш_шаблон_сайта/components/artmix/catalog.buyoneclick/template1/.parameters.php

с содержимым:
<?php

\Bitrix\Main\Localization\Loc::loadMessages($_SERVER['DOCUMENT_ROOT'] . '/bitrix/components/artmix/catalog.buyoneclick/.parameters.php');

if (!(isset($arTemplateParameters) && is_array($arTemplateParameters))) {
    $arTemplateParameters = array();
}

$arTemplateParameters['FIELDS'] = array(
    'NAME' => GetMessage('ACBOC_CP_FIELDS'),
    'TYPE' => 'LIST',
    'MULTIPLE' => 'Y',
    'PARENT' => 'BASE_GROUP',
    'VALUES' => array(
        'NAME' => GetMessage('ACBOC_CP_FIELDS_NAME'),
        'PHONE' => GetMessage('ACBOC_CP_FIELDS_PHONE'),
        'EMAIL' => GetMessage('ACBOC_CP_FIELDS_EMAIL'),
        'USER_DESCRIPTION' => GetMessage('ACBOC_CP_FIELDS_USER_DESCRIPTION'),
        'ADDRESS' => GetMessage('ACBOC_CP_FIELDS_ADDRESS'),
    ),
    'DEFAULT' => array(
        'NAME',
        'PHONE',
    ),
);

Создаём файл с языковыми фразами дополнительных параметров шаблона
/bitrix/templates/ваш_шаблон_сайта/components/artmix/catalog.buyoneclick/template1/lang/ru/.parameters.php

с содержимым:
<?php

/** global array $MESS */

$MESS['ACBOC_CP_FIELDS_ADDRESS'] = 'Адрес [ADDRESS]';

Не забываем сохранить его в кодировке вашего сайта.

После этого в настройках компонента появится поле «Адрес [ADDRESS]». Выбираем его.


Далее нам нужно это поле вывести в шаблоне.

Открываем шаблон компонента быстрой покупки /bitrix/templates/ваш_шаблон_сайта/components/artmix/catalog.buyoneclick/template1/template.php для редактирования

Так как наше боле адрес должно быть textarea изменяем массив настроек.

С этого:
$formsParams = array(
    'TEXTAREA_FIELDS' => array(
        'USER_DESCRIPTION',
    ),
    'PHONE_FIELDS' => array(
        'PHONE',
    ),
    'PHONE_MASK_FIELDS' => array(
        'PHONE',
    ),
    'EMAIL_FIELDS' => array(
        'EMAIL',
    ),
);

на это:
$formsParams = array(
    'TEXTAREA_FIELDS' => array(
        'USER_DESCRIPTION',
        'ADDRESS',
    ),
    'PHONE_FIELDS' => array(
        'PHONE',
    ),
    'PHONE_MASK_FIELDS' => array(
        'PHONE',
    ),
    'EMAIL_FIELDS' => array(
        'EMAIL',
    ),
);

Добавляем языковую фразу для нашего поля «Адрес» в шаблоне.
Для этого в самый конец файла /bitrix/templates/eshop_bootstrap_red/components/artmix/catalog.buyoneclick/template1/lang/ru/template.php нужно добавить:
$MESS['ACBOC_FORM_ADDRESS'] = 'Адрес';
Всё. Теперь пользователь может заполнить и адрес https://yadi.sk/i/47S50k-V35VVUk для заказа



Ответы на вопросы

Почему модуль может не заработать?
  1. Версия модуля интернет-магазин ниже 15.5
  2. У пользователя отключен JavaScript
Напишите нам на mp@artmix.ru, мы попробуем помочь. Если ничего не выйдет — вернем уплаченную вами сумму.

Обратите внимание мы принимаем запросы на возврат в течение месяца с момента покупки.

Как добавить поле «Телефон» в письмо о быстром заказе?

Чтобы вывести поля формы быстрой покупки в почтовом шаблоне, используйте маркер c префиксом USER_, например: #USER_PHONE#

Я не могу/не хочу устанавливать модуль. Можете ли вы установить его на мой магазин?

Да, мы оказываем такую услугу. Отправьте заявку с адресом вашего магазина на mp@artmix.ru и мы озвучим стоимость и порядок работы.

  • 1.1.5, 16.02.2021
    Добавлен параметр «Служба доставки». Цена с учетом количества в WhatsApp.
  • 1.1.4, 15.02.2021
    Передача количества в WhatsApp.
  • 1.1.3, 04.06.2020
    Исправлена ошибка добавления товаров в отгрузку при покупке всей корзины.
  • 1.1.2, 28.05.2020
    Добавлен функционал покупки через WhatsApp.
  • 1.1.1, 27.05.2020
    Исправлена ошибка сохранения дополнительного поля (например, Адрес) в случае привязки свойства к определенным службам доставок.
  • 1.1.0, 09.04.2020
    Добавлена возможность покупки всего содержимого корзины в 1 клик. Разработчикам:
    вернули регистрацию событий OnOrderNewSendEmail и OnBeforeEventAdd модуля artmix.buyoneclick для работы функционала, описанного в версии 1.0.14.
  • 1.0.19, 17.11.2017
    Всем
    - в дополнительные свойства товара корзины теперь добавляются CATALOG.XML_ID и PRODUCT.XML_ID [#17]
    - в поля товара корзины теперь добавляются CATALOG_XML_ID и PRODUCT_XML_ID свойства [#17]
    - поправлена ошибка неприменения (в некоторых случаях) новых сконвертированных скидок скидок в заказ
    Разработчикам
    - в ajax-ответы добавлен код ошибки, для удобства отладки - в js-библиотеке модуля добавлена поддержка radio и select полей
  • 1.0.18, 07.08.2017
    Переписан механизм создания заказа. Теперь заказ создаётся при помощи нового API модуля sale. Режим включается автоматически, если в интернет-магазине сконвертированные скидки торгового каталога (sale 16.6.0, catalog 16.6.0 и iblock 16.6.0), либо настройкой «Создавать заказ с помощью нового API модуля sale D7 (экспериментальный режим)» на вкладке «Основные параметры» в настройках компонента.
  • 1.0.17, 16.07.2017
    Вернул вызов событий onBeforeCalculatedPriceProduct и onBeforeResponseAfterOrderAddAction, потерянных в одном из прошлых обновлений
  • 1.0.16, 06.07.2017
    Добавили запрос согласия на обработку персональных данных. Текст запроса и ссылка на пользовательское соглашение задаются в настройках.
  • 1.0.15, 21.04.2017
    Теперь при создании заказа из формы быстрой покупки создаётся и профиль покупателя [#15]
  • 1.0.14, 14.02.2017
    • Письма, на автоматически сгенерированные емейлы, при оформлении заказа в 1 клик, теперь отправляться не будут.
    • Почтовый шаблон письма о новом заказе расширен новыми маркерами с префиксом "ABOC_"
  • 1.0.13, 26.12.2016
    Поправлена работа компонента с кодировкой windows-1251 на сайте.

    Изменена логика получения email пользователя.
    Теперь, если пользователь не авторизован, и ввёл почту в форму быстрой покупки, компонент проверит, если учётной записи с такой почтой нет на сайте, то создана она будет именно с этой почтой.

    Разработчикам
    Добавлен вызов события onBeforeGetCurrentUserId (в новом D7 стиле). С помощью этого обработчика можно авторизовать пользователя по своей логике
  • 1.0.12, 21.12.2016
    Разработчикам
    - в js-библиотеке модуля добавлена поддержка поля ACCOUNT_NUMBER заказа
    - в компонент добавлен вызов событий onBeforeCalculatedPriceProduct и onBeforeResponseAfterOrderAddAction (вызываются в новом D7 стиле)
  • 1.0.11, 20.10.2016
    Улучшена поддержка установщика с PHP 5.3
  • 1.0.10, 04.10.2016
    Поправлена ошибка инициализации модуля currency в компоненте artmix:catalog.buyoneclick [#9]
  • 1.0.9, 13.09.2016
    Поправлена ошибка с определением доступности товара для покупки
  • 1.0.8, 30.08.2016
    Поправлена ошибка в установщике модуля.
  • 1.0.7, 29.08.2016
    В шаблоны отправки писем о новых заказах добавлены все поля, введённые пользователем, в форме «Купить в 1 клик» (доступны в маркерах USER_*)
  • 1.0.6, 29.08.2016
    Поправлена ошибка в классе компонента.
  • 1.0.5, 25.08.2016
    Добавлена проверка опции «Использовать CAPTCHA при регистрации» у главного модуля. Если эта опция включена, то у неавторизованных пользователей будет показана капча.
  • 1.0.4, 24.08.2016
    Появилась возможность указания свойств товаров и торговых предложений, которые будут добавлены в корзину вместе с товарами. За это отвечают новые настройки у компонента («Свойства, добавляемые в корзину» и «Свойства предложений, добавляемые в корзину»).
  • 1.0.3, 24.08.2016
    Добавлена отправка почтового события SALE_NEW_ORDER. Так же при обновлении модуля в список почтовых шаблонов копируется шаблон SALE_NEW_ORDER и сохраняется под событием ARTMIX_BUY_ONE_CLICK_SALE_NEW_ORDER. Им можно воспользоваться, если по каким-то причинам отправка почтового события SALE_NEW_ORDER для быстрого заказа не устраивает.

    В настройки компонента добавлены 2 настройки, управляющие отправкой писем о новом заказе:
    • Отправка почтового шаблона [SALE_NEW_ORDER] (по умолчанию включена)
    • Отправка почтового шаблона [ARTMIX_BUY_ONE_CLICK_SALE_NEW_ORDER] (по умолчанию выключена)
  • 1.0.2, 16.08.2016
    В результирующий json-ответ в ключ ORDER добавлены значения PRICE_DELIVERY, TAX_VALUE и ACCOUNT_NUMBER.
  • 1.0.1, 12.08.2016
    - Улучшения js-библиотеки модуля - Незначительные изменения стилей компонента
По вопросам установки и настройки модуля обращайтесь: mp@artmix.ru


Ссылки
  • Главная
  • Модули
  • Акции
  • Услуги
  • Отзывы
  • Блог
  • Новости
  • Контакты
  • Реквизиты
Поиск по сайту
Наши контакты

По всем вопросам обращайтесь:

Электронная почта: info@webdebug.ru

Контактный телефон: (861) 241-08-50

WhatsApp: +7-988-241-08-50

Viber: +7-988-241-08-50

Telegram: webdebug

Skype (только переписка): webdebug

Форма обратной связи

Webdebug Bitrix certified
Webdebug QR-code
© ООО «Веб дебаг», 2011 – 2021. Политика конфиденциальности. Cайт работает на лучшей в мире CMS.
×
У Вас вопрос?
Загрузка ...
×
Связаться с нами
Загрузка ...
×
Установка модуля

Внимание! Повторная установка в демо-режиме приведет к окончанию демо‑режима и невозможности использовать модуль.

×
Запрос на приобретение
и настройку модуля
Загрузка ...