Отправка сообщения






Получение Email-адреса покупателя в заказе (Bitrix D7)

При создании заказа в системе Bitrix сохраняются множество полей, среди которых так же присутствует поле Email. Конечно мы сейчас говорим о стандартном исполнении формы оформления заказа. Для некоторых задач иногда требуется получить поле – Email покупателя в заказе. В данной заметке мы рассмотрим простой пример получения Email из заказа Bitrix, средствами D7. Нужно понимать, что Email адрес, сохранённый в заказе является свойством, а не полем заказа. Это означает что получить его можно через методы для работы со свойствами заказа. Для получения Email-адреса покупателя существует метод getUserEmail(), к которому следует обращаться посредством объекта – коллекции свойств заказа.

$orderId = 123; // id заказа

// получаем объект заказа
$order = \Bitrix\Sale\Order::load($orderId);
if ($order){
	
	$userEmail = '';

	// свойства заказа
	$propertyCollection = $order->getPropertyCollection();

	// getUserEmail - находит свойство у которого стоит флаг IS_EMAIL
	if ($propUserEmail = $propertyCollection->getUserEmail()) {
		$userEmail = $propUserEmail->getValue();
	} else {
		
		// поиск свойства путём перебора
		foreach($propertyCollection as $orderProperty) {
			
			// находим значение по символьному коду
			if ($orderProperty->getField('CODE') == 'EMAIL') {
				$userEmail = $orderProperty->getValue();
				break;
			}
		}
	}
	
	echo '<pre>'; print_r ($userEmail); echo '</pre>';
}

Обратите внимание на то, что для работы с заказами у вас предварительно должен подключаться модуль «sale». Метод getUserEmail() – находит свойство у которого выставлен флаг IS_EMAIL. Другой способ получения Email свойства заказа, это поиск по символьному коду «EMAIL» путём перебора свойств заказа в цикле.

Опубликован: 31.08.2020 г.
 
нравится (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии

  • Загрузка...

Наверх