Битрикс: Вывод свойств заказа и содержимого корзины в confirm.php

Битрикс: Вывод свойств заказа и содержимого корзины в confirm.php

Достаточно краткая заметка, в рамках которой рассматривается вариант решения задачи по выводу содержимого корзины и свойств заказа (на примере поля email) на странице подтверждения заказа в Битриксе, то есть в confirm.php

Для чего может потребоваться этот функционал?

Как минимум, для ряда интеграций. Например, это могут быть скрипты CPA-сетей, агрегаторы ремаркетинга или сервисов персонализации. Не во всех, но во многих приходится добавлять содержимое заказа в скрипт на странице подтверждения заказа. Собственно, в рамках данной заметки и предложен вариант решения данной задачи.

Итак, с чего начать? 

Для начала идем в папку активного шаблона, components, bitrix, sale.order.ajax, папка шаблона компонента, confirm.php. В этом файле будет проходить вся работа.

Все скрипты лучше всего добавлять в конец данного файла, это позволит избежать некоторых неожиданных событий.

Вызов содержимого корзины происходит следующим образом:

Строка с CSaleBasket::GetList, собственно, и вызывает содержимое корзины, принимая в качестве аргумента ID текущего заказа.  И, соответственно, в цикле While переменные содержимого корзины записываются непосредственно в скрипт. В данном случае, это ID, Количество и цена. С корзиной закончили. Не так уж и сложно, верно?

Теперь мы можем перейти к вызову свойства заказа на примере EMAIL

Существует, видимо, несколько подходов, но автор данной заметки остановился на следующем:

В данном случае, несмотря на некоторую громоздкость кода, всё должно быть достаточно очевидно. Подгружаем свойства заказа (методом, где ИД заказа принят в качестве аргумента). Далее делаем проверку по символьному коду свойства заказа, в данном случае это свойство EMAIL. Если оно есть, то записываем его в переменную $userEmail. Далее её можно будет вызвать в нужном месте с помощью <?=$userEmail?>.

В общем и целом, на этом заметку можно закончить, так как цель, поставленная перед данной публикацией достигнута.