[D7 Битрикс] Как получить e-mail покупателя в заказе

28.07.2017

E-mail в заказе является свойством, не полем, получить его можно таким образом, например, после оформления заказа в шаблоне компонента bitrix:sale.order.ajax в файле confirm.php

if($orderId = $arResult['ORDER_ID']) {
 $userEmail = "";
 if($order = \Bitrix\Sale\Order::load($orderId)) {
  /** @var \Bitrix\Sale\PropertyValueCollection $propertyCollection */
  if($propertyCollection = $order->getPropertyCollection()) {
   //Ищет свойство заказа, у которого есть флажок IS_EMAIL
   if($propUserEmail = $propertyCollection->getUserEmail()) {
    $userEmail = $propUserEmail->getValue();
   }
   else {
    /** @var \Bitrix\Sale\PropertyValue $orderProperty */
    foreach($propertyCollection as $orderProperty) {
     //Ищет свойство заказа, у которого символьный код например EMAIL
     if($orderProperty->getField('CODE') == 'EMAIL') {
      $userEmail = $orderProperty->getValue();
      break;
     }
    }
   }
  }
 }
 //Если мыло не нашли, но юзер авторизован
 if(!$userEmail && $USER->IsAuthorized())
  $userEmail = $USER->GetEmail();
 $userEmail = trim($userEmail);
 print_r($userEmail);
}
Комментарии
Получать ответы на почту
Получать ответы на почту

Разделы
Подписка на статьи
Выберите рассылку
Последние комментарии