Создание заказа в 1 клик на платформе Битрикс

Создание заказа в 1 клик на платформе Битрикс является одной из важнейших функций для интернет-магазина. Эта функция позволяет пользователю оформить заказ быстро и без лишних усилий. В этой статье мы покажем вам, как создать заказ в 1 клик на платформе Битрикс, шаг за шагом, с примерами кода.

Шаг 1: Создание формы заказа

Первый шаг - создать форму для заказа. Для этого перейдите в административной панели Битрикс в раздел "Формы" и создайте новую форму.

  1. Зайдите в административную панель Битрикс.
  2. Перейдите в раздел "Формы".
  3. Создайте новую форму, выбрав тип "Веб-форма".

Шаг 2: Добавление полей для заполнения

Добавьте поля в форму, которые позволят пользователю быстро оформить заказ. Как правило, это имя, телефон и адрес доставки.

  1. Нажмите на кнопку "Добавить поле" в настройках формы.
  2. Выберите тип поля (текстовое поле, поле для ввода номера телефона и т.д.).
  3. Добавьте название поля и укажите обязательность заполнения.

Шаг 3: Создание скрипта обработки заказа

Создайте новый обработчик формы и напишите код, который будет обрабатывать данные из формы и создавать заказ в 1 клик. В данном примере мы будем использовать API Битрикса для создания заказа.

  1. Создайте новый обработчик формы в разделе "Скрипты обработки".
  2. Введите название обработчика и выберите тип обработчика "PHP".
  3. Напишите код для создания заказа в 1 клик, используя API Битрикса.

Пример кода для создания заказа в 1 клик:

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

use Bitrix\Main\Context;
use Bitrix\Sale\Order;
use Bitrix\Sale\Basket;
use Bitrix\Sale\Delivery\Services\Manager;
use Bitrix\Sale\PaySystem;
use Bitrix\Sale\PriceMaths;
use Bitrix\Sale\PropertyValue;
use Bitrix\Sale\Shipment;
use Bitrix\Sale\UserConsent;
use Bitrix\Sale\Internals\Input;
use Bitrix\Sale\Internals\OrderPropsValueTable;
use Bitrix\Sale\Internals\OrderTable;

$request = Context::getCurrent()->getRequest();

// получение данных из формы
$name = $request->getPost("name");
$phone = $request->getPost("phone");
$address = $request->getPost("address");

// создание нового заказа
$order = Order::create(SITE_ID, $USER->GetID());
$order->setPersonTypeId(1);
$order->setBasket(Basket::loadItemsForFUser(Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite()));
$order->doFinalAction(true);
$order->setField('CURRENCY', 'RUB');
$order->setField('USER_DESCRIPTION', 'Заказ создан в 1 клик');

// добавление товаров в корзину
$item = $order->getBasket()->createItem("catalog", $productId);
$item->setFields(array(
    "QUANTITY" => $quantity,
    "CURRENCY" => "RUB",
    "LID" => SITE_ID,
    "PRODUCT_PROVIDER_CLASS" => "CCatalogProductProvider",
    "PRODUCT_ID" => $productId,
    "PRICE" => $price
));

// добавление свойств заказа
$orderProps = $order->getPropertyCollection();
$propertyValue = $orderProps->getPhone();
if ($propertyValue)
    $propertyValue->setValue($phone);
$propertyValue = $orderProps->getAddress();
if ($propertyValue)
    $propertyValue->setValue($address);

// сохранение заказа
$order->setField('USER_ID', $USER->GetID());
$order->setField('STATUS_ID', 'N');
$order->save();

// отправка уведомления пользователю и администратору
$order->sendNewOrderNotification();
$order->getAdminNotification();

Шаг 4: Привязка скрипта обработки к форме

Последний шаг - связать обработчик формы с созданным ранее скриптом обработки заказа.

  1. Перейдите в настройки формы.
  2. Выберите созданный обработчик формы в списке "Скрипты обработки".
  3. Сохраните изменения.

Теперь, когда пользователь заполняет форму заказа в 1 клик и нажимает кнопку "Отправить", заказ будет создан автоматически и отправлен уведомления пользователю и администратору.

Это был шаг за шагом гайд по созданию заказа в 1 клик в Битрикс, используя примеры кода. Если у вас возникли вопросы или требуется более подробное объяснение, пожалуйста, свяжитесь напишите в комментариях.

Коментарии

Коментарии отсутствуют, будьте первым(ой) кто напишет под этим постом!

Написать коментарий