vurdolak
@vurdolak
Фрилансер

Не работает корзина. Добавляется только один товар. В какую сторону копать?

В общем есть сайт, demo-produkt.1gb.ru там почему то добавляется в корзину только один товар. а при перезагрузки или перейдя в корзину он исчезает.
Вот код аякса:
<?php
// v.2013-01-26
// Add item to basket
$eadmNoTemplate = true;
include '../../functions/init.php';
$eadm->inFunc('strings/');

$message = t('Корзина пуста');
$eadm->inVar('code', 'str');
$eadm->inVar('amount', 'int');
if ($code !== false && preg_match("/^([a-z_]+)(\d+)$/", $code, $foo) && $amount !== false && $amount >= 0) {
  $code = $foo[1] . '-' . $foo[2];
  $basket = $shop->addToBasket($code, $amount);
  if ($basket !== false && $basket['items'] != 0)
    $message = '<a href="' . SITE_URL . '/shop/basket/">' . $basket['items'] . ' наименовани' . wordEnd($basket['items'], 5) . '<br>на сумму ' . formatPrice($basket['price']) . ' р.</a>';
}

  Header("Content-Type: text/xml");
?>
<?='<?'?>xml version="1.0" encoding="UTF-8"<?='?>'?>
<data>
  <time><?=date("Y-m-d H:i:s")?></time>
  <ans><?=htmlSpecialChars($message)?></ans>
  <price><?=isSet($basket['price']) ? formatPrice($basket['price']) : '0'?></price>
</data>
<?include SITE_DIR . '/functions/deinit.php'?>

Что там может быть не так? Или в не том направлении ищу.
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
NooBiToo
@NooBiToo
1) На счет "исчезает", вы же нигде его не храните, то да, вы присвоили переменной значение, но оно не будет сохранятся, как вариант можно использовать local storage для временного хранения корзины, а заказ уже отправлять на сервер.
2) "почему то добавляется в корзину только один товар" вы каждый раз сохраняете новое значение в переменной $basket, а не добавляете к нему новое, то есть нужно проверять есть ли какой либо товар в корзине, если есть добавить к нему новый, и сохранить переменную $basket в local storage
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы