- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/blocks/orderinfo.php
- Класс: BitrixSaleHelpersAdminBlocksOrderInfo
- Вызов: OrderInfo::getView
static function getView(Order $order, $orderBasket)
{
$currency = $order->getCurrency();
$orderProps = $order->getPropertyCollection();
if($email = $orderProps->getUserEmail())
$email = $email->getViewHtml();
if($phone = $orderProps->getPhone())
{
$phoneVal = $phone->getValue();
if($phoneVal != '')
{
if(!is_array($phoneVal))
$phoneVal = array($phoneVal);
$phone = '';
foreach($phoneVal as $number)
{
$number = str_replace("'", "", htmlspecialcharsbx($number));
if($phone <> '')
$phone .= ', ';
$phone .= ''.
$number.
'';
}
}
else
{
$phone = '';
}
}
if($name = $orderProps->getPayerName())
$name = $name->getViewHtml();
$totalPrices = OrderEdit::getTotalPrices($order, $orderBasket, false);
//Here we can receive custom data
$event = new Event('sale', 'onSaleAdminOrderInfoBlockShow', array('ORDER' => $order, 'ORDER_BASKET' => $orderBasket));
$event->send();
$resultList = $event->getResults();
$customData = array();
if (is_array($resultList) && !empty($resultList))
{
foreach ($resultList as $eventResult)
{
/** @var EventResult $eventResult*/
if ($eventResult->getType() != EventResult::SUCCESS)
continue;
$params = $eventResult->getParameters();
if(!empty($params) && is_array($params))
$customData = array_merge($customData, $params);
}
}
///
$result = '
'.Loc::getMessage("SALE_ORDER_INFO", array(
"#ID#" => $order->getId(),
"#NUM#" => $order->getField("ACCOUNT_NUMBER") <> '' ? $order->getField("ACCOUNT_NUMBER") : $order->getId(),
"#DATE#" => $order->getDateInsert()->toString())
)." [".$order->getSiteId()."]".'
'.$order->getField('STATUS_ID').'
'.static::getOrderInfoBlock($order).'
-
'.Loc::getMessage("SALE_ORDER_INFO_FIO").':
'.$name.'
-
E-Mail:
'.$email.'
-
'.Loc::getMessage("SALE_ORDER_INFO_PHONE").':
'.$phone.'
';
if(!empty($customData))
{
foreach($customData as $custom)
{
if(empty($custom['TITLE']))
throw new ArgumentNullException("customData['TITLE']");
if(empty($custom['VALUE']))
throw new ArgumentNullException("customData['VALUE']");
$result .='
-
'.$custom['TITLE'].'
'.$custom['VALUE'].'
';
}
}
$result .= '
-
'.Loc::getMessage("SALE_ORDER_INFO_PRICE").'
'.
SaleFormatCurrency(floatval($totalPrices["PRICE_BASKET"]), $currency).
'
-
'.Loc::getMessage("SALE_ORDER_INFO_DISCOUNT_PRICE").'
'.
SaleFormatCurrency(floatval($totalPrices["PRICE_BASKET_DISCOUNTED"]), $currency).
'
-
'.Loc::getMessage("SALE_ORDER_INFO_DELIVERY_PRICE").'
'.
SaleFormatCurrency(floatval($order->getDeliveryPrice()), $currency).
'
-
'.Loc::getMessage("SALE_ORDER_INFO_ALL_PRICE").'
'.
SaleFormatCurrency(floatval($order->getPrice()), $currency).
'
'.Loc::getMessage("SALE_ORDER_INFO_PAYED").': '.SaleFormatCurrency(floatval($order->getSumPaid()), $currency).
'
';
$updatersContent = "";
foreach(self::getPaymentsInfo($order) as $payment)
{
$result .= '
';
if($updatersContent <> '')
$updatersContent .=",n";
$updatersContent .= "tPAYMENT_PAID_".$payment["ID"].": function(paid) { BX.Sale.Admin.OrderInfo.setIconLamp('payment', '".$payment["ID"]."', (paid == 'Y' ? 'green' : 'red')); }";
}
$result .= '
'.Loc::getMessage("SALE_ORDER_INFO_SHIPMENT").'
';
foreach(self::getShipmentsInfo($order) as $shipment)
{
$result .= '
';
if($updatersContent <> '')
$updatersContent .=",n";
$updatersContent .= "tSHIPMENT_STATUS_".$shipment["ID"].": function(shipmentStatus) { BX.Sale.Admin.OrderInfo.setIconLamp('shipment', '".$shipment["ID"]."', (shipmentStatus == 'DF' ? 'green' : 'red')); }";
}
$result .= '
';
$orderEditOpts = CUserOptions::GetOption("sale_admin", "sale_order_edit", array());
$isFixed = isset($orderEditOpts["fix_sale-order-edit-block-order-info"]) && $orderEditOpts["fix_sale-order-edit-block-order-info"] == "Y" ? true : false;
if($isFixed)
{
$result .= '
';
}
if($updatersContent <> '')
{
$result .= '
';
}
return $result;
}