Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Корзина

00 голосов
1
Добрый день!

На сайте настроен второй способ многосайтовости, то есть каждый сайт работает под управлением отдельной копии веб-сервера Apache или отдельного виртуального веб-сервера. Один из сайтов является интернет магазином.

Есть каталог товаров футболок, реализована возможность выбора размера футболок(пользовательское свойство) следующим методом:
Создал простую форму

Код
<form name="form_<?=$arElement["ID"]?>" action="" method="POST">
Размер футболки: <select name="razmer">
<option value="48">48</option>
<option value="50">50</option>
<option value="52">52</option>
<option value="54">54</option>
</select><br/>
<input type="hidden" name="id" value="<?=$arElement["ID"]?>">
<input type="hidden" name="action" value="ADD2BASKET">
<input type="hidden" name="QUANTITY" value="1">
<div align="right" style="padding-top: 15px; padding-bottom: 2px;"><input type="image" name ="buy" src="/bitrix/templates/befire/images/buy.gif" value="Купить"></div>
</form>

И добавленна функция добавления товара в корзину
Код
<?
$PRODUCT_ID = $_POST['id'];
$action = $_POST['action'];
$razmer = $_POST['razmer'];
$QUANTITY = $_POST['QUANTITY'];
if (CModule::IncludeModule("sale") && CModule::IncludeModule("catalog"))
{
    if (($action == "ADD2BASKET" || $action == "BUY") && IntVal($PRODUCT_ID)>0)
    {
        Add2BasketByProductID(
                $PRODUCT_ID,
                $QUANTITY,
                array(
                        array("NAME" => "Размер", "CODE" => "RAZ", "VALUE" => $razmer),
                    )
            );
LocalRedirect("/personal/cart/index.php");
    }
}
?>


Проблема заключается в следующем, если покупать товар под учетной записью администратора все нормально и товар покупается и свойство добавляется, никаких проблем. Но если покупать товар обычным не зарегистрированным пользователем (то есть добавляем товар не зарегистрированным пользователем, а в процессе оформления заказа будем авторизируемся), то происходит редирект на корзину (как и должно быть), но товар не добавляется, покупаем второй товар и в корзине выводится только второй купленный. Хотя в компоненте bitrix:sale.basket.basket.line пишется что в корзине 2 товара. Начинаем процедуру оформления заказа и на странице выбора профиля заказчика после нажатия на кнопку продолжить опять происходит редирект на корзину и выводится сообщение Ваша корзина пуста, а в bitrix:sale.basket.basket.line по прежнему 2 товара.

В чем может причина? Может кто-нибудь сталкивался с такой проблемой.
спросил 24 Дек, 13 от Auda (120 баллов)

1 Ответ

00 голосов
Не уверена, что поможет, но у нас была похожая проблема на одном сайте, где для админов и неадминов использовались разные типы цен. Под админским логином товар добавлялся в корзину, а если разлогинится оставалась надпись в bitrix:sale.basket.basket.line о количестве товаров, но при этом при переходе на страницу корзины выдавалась надпись "Ваша корзина пуста".

Если проблема та же самая, то ваша модификация ни при чем. Просто проверьте права доступа пользователей на типы цен, по которым осуществляется покупка.
ответил 16 Март, 14 от ESLIBIA (260 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
0 ответов
спросил 24 Дек, 13 от ebs_di (120 баллов)
0 голосов
1 ответ
спросил 05 Апр, 14 от Godvolf (240 баллов)
0 голосов
2 ответов
спросил 28 Март, 14 от Kselik (100 баллов)
0 голосов
3 ответов