Создание сайтов на 1С Битрикс стало еще просто, используйте готовые шаблоны! Подключайте современные модули, делая ваш сайт еще эффективнее!
Например, парсер сайтов

Купить в 1 клик + WhatsApp

1 490 i
Заказать
Оформление заказа
х
В наличии
Форма быстрого заказа на сайте.

Внимание! В версии 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 для заказа





Кейс: передача произвольных свойств товара в сообщение WhatsApp



Чтобы свойства товара выводились в сообщении в WhatsApp, нужно добавить в произвольном месте страницы (например, в шаблоне списка, карточки товара, корзины) элементы c классом js-ax-buyoneclick-product-prop с атрибутами:

<span class="js-ax-buyoneclick-product-prop" data-product-id="ID_товара" data-prop-name="Название_свойства" data-prop-value="Значение_свойства"></span>





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



Почему модуль может не заработать?

  1. Версия модуля интернет-магазин ниже 15.5

  2. У пользователя отключен JavaScript

Напишите нам на mp@artmix.ru, мы попробуем помочь. Если ничего не выйдет — вернем уплаченную вами сумму.



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



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



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



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



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



По вопросам установки и настройки модуля обращайтесь: mp@artmix.ru

x