Здравствуйте. Очень нужна помощь.
Создаю функционал в интернет-магазине, используя классы Битрикса. Точнее, подключил компонент корзины, и формирую заказы с помощью CSaleOrder::Add().
Данные с формы отправляются в обработчик, который формирует нового CUser и регистрирует его и уже оформляет заказ с помощью CSaleOrder::Add(). Но вот проблема: при просмотре заказа в админке показывается только сумма, а состав заказа не отображается. С пользователями-администраторами все наоборот: состав заказа отображается, сумма стоит - 0.
Шаблон корзины:
Создаю функционал в интернет-магазине, используя классы Битрикса. Точнее, подключил компонент корзины, и формирую заказы с помощью CSaleOrder::Add().
Данные с формы отправляются в обработчик, который формирует нового CUser и регистрирует его и уже оформляет заказ с помощью CSaleOrder::Add(). Но вот проблема: при просмотре заказа в админке показывается только сумма, а состав заказа не отображается. С пользователями-администраторами все наоборот: состав заказа отображается, сумма стоит - 0.
Шаблон корзины:
| Код |
|---|
<head><?$APPLICATION->ShowHead();?></head>
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixBasketComponent $component */
$normalCount = count($arResult["ITEMS"]["AnDelCanBuy"]);
$normalHidden = ($normalCount == 0) ? 'style="display:none;"' : '';
$delayCount = count($arResult["ITEMS"]["DelDelCanBuy"]);
$delayHidden = ($delayCount == 0) ? 'style="display:none;"' : '';
$subscribeCount = count($arResult["ITEMS"]["ProdSubscribe"]);
$subscribeHidden = ($subscribeCount == 0) ? 'style="display:none;"' : '';
$naCount = count($arResult["ITEMS"]["nAnCanBuy"]);
$naHidden = ($naCount == 0) ? 'style="display:none;"' : '';
$curPage = $APPLICATION->GetCurPage().'?'.$arParams["ACTION_VARIABLE"].'=';
$arUrls = array(
"delete" => $curPage."delete&id=#ID#",
"delay" => $curPage."delay&id=#ID#",
"add" => $curPage."add&id=#ID#",
);
unset($curPage);
$arBasketJSParams = array(
'SALE_DELETE' => GetMessage("SALE_DELETE"),
'SALE_DELAY' => GetMessage("SALE_DELAY"),
'SALE_TYPE' => GetMessage("SALE_TYPE"),
'TEMPLATE_FOLDER' => $templateFolder,
'DELETE_URL' => $arUrls["delete"],
'DELAY_URL' => $arUrls["delay"],
'ADD_URL' => $arUrls["add"]
);
$APPLICATION->AddHeadScript($templateFolder."/script.js");
if (strlen($arResult["ERROR_MESSAGE"]) <= 0)
{?>
<sc ript type="text/javascript">
$(document).ready(function(){
$('#basket_form').on('submit', function(e){
e.preventDefault();
var $that = $(this),
formData = new FormData($that.get(0));
$.ajax({
url: $that.attr('action'),
type: $that.attr('method'),
contentType: false,
processData: false,
data: formData,
//dataType: 'html',
success: function(formData){
$('#basket_form').html('');
$('.order-result').html(formData);
}
});
});
});
</sc ript>
<div id="warning_message">
<?
if (!empty($arResult["WARNING_MESSAGE"]) && is_array($arResult["WARNING_MESSAGE"]))
{foreach ($arResult["WARNING_MESSAGE"] as $v)ShowError($v);}
?>
</div>
<?/*echo "<pre>";
print_r($arResult);
echo "</pre>";*/?>
<fo rm method="post" action="/include/order/order.php" name="basket_form" id="basket_form">
<?include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/basket_items.php");?>
<?if ($USER->IsAuthorized()):?>
<input class="make_ord" value="Оформить заказ" type="submit"/>
<?else:?>
<p>Уже являетесь нашим пользователем? Тогда просто введите свой электронный адрес и офрмляйте заказ!</p>
<input name="name" type="text" placeholder="Ваше имя"/>
<input name="email" type="email" placeholder="Ваш адрес электронной почты"/>
<input name="phone" type="text" placeholder="Ваш номер телефона"/>
<input name="country" type="text" placeholder="Страна"/>
<input name="city" type="text" placeholder="Населенный пункт" />
<textarea name="addr" placeholder="Ваш адрес"></textarea>
<input name="sum" value="<?=$arResult['allSum']?> руб." readonly/>
<input class="make_ord" value="Оформить заказ" type="submit"/>
<?endif;?>
</form>
<div class="order-result"></div>
<?} else{ShowError($arResult["ERROR_MESSAGE"]);}?>
|