Документация для разработчиков
Темная тема

Работа через реестр

Этот способ помогает не ошибиться в названии нужного метода при работе с сущностями интернет-магазина в редакции, объединяющей интернет-магазин и CRM (например, «1С-Битрикс24: Интернет-магазин+CRM»).


Примечание: если в таких редакциях использовать классы обычного интернет-магазина, то могут возникнуть проблемы с работой функционала, специфичного для CRM (например, с работой роботов).

\Bitrix\Main\Loader::includeModule('sale');

$registry = \Bitrix\Sale\Registry::getInstance(
	\Bitrix\Sale\Registry::REGISTRY_TYPE_ORDER
);

$orderClassName = $registry->getOrderClassName();

$order = $orderClassName::load(...);

Суть описанного способа:

  • Загрузка модуля sale и получение объекта реестра.

    При загрузке объекта выполняется инициализация карты, которая описывает, какие классы отвечают за указанную сущность интернет-магазина (CRM в эту карту загружает свои классы, поэтому карта становится актуальной для продукта, содержащего CRM).

  • Теперь нужно не явно работать с названием класса, а запрашивать его из реестра с помощью метода типа getOrderClassName. Он вернет правильное название класса.
  • В завершении вместо явного указания класса используется переменная $orderClassName, которая содержит правильное название класса, и продолжается обычная работа с нужными методами заказа, например, load($id).

Для остальных сущностей интернет-магазина методы по получению правильного класса аналогичны (например, чтобы работать с оплатой, нужно вместо getOrderClassName() вызывать getPaymentClassName() ).





Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх