recount в корзине

#
recount в корзине
Проблема - изменяю количество товара в корзине, нажимаю "Пересчитать", происходит перезагрузка страницы, но количество не меняется.
Не подскажете, где искать причину?

Код для пересчета в ТДС
if (Core_Array::getPost('recount') || Core_Array::getPost('step') == 1)
{
   $oShop_Cart_Controller = Shop_Cart_Controller::instance();
   $aCart = $oShop_Cart_Controller->getAll($oShop);

   // Склад по умолчанию
   $oShop_Warehouse = $oShop->Shop_Warehouses->getDefault();

   foreach ($aCart as $oShop_Cart)
   {
      $quantity = Core_Array::getPost('quantity_' . $oShop_Cart->shop_item_id);

      // Количество было передано
      if (!is_null($quantity))
      {
         $oShop_Cart_Controller
            ->clear()
            ->checkStock($bCheckStock)
            ->shop_item_id($oShop_Cart->shop_item_id)
            ->quantity($quantity)
            ->postpone(is_null(Core_Array::getPost('postpone_' . $oShop_Cart->shop_item_id)) ? 0 : 1)
            ->shop_warehouse_id(
               Core_Array::getPost('warehouse_' . $oShop_Cart->shop_item_id, !is_null($oShop_Warehouse) ? $oShop_Warehouse->id : 0)
            )
            ->update();
      }
   }
}

iNikSite - дизайн и фронтенд разработка
#
Re: recount в корзине
Проверяйте заходите ли в условие if (Core_Array::getPost('recount') || Core_Array::getPost('step') == 1) , если да то смотрите что получаете в  $quantity
«Не выходи из комнаты, не совершай ошибку…»
#
Re: recount в корзине
llirik писал(а):
Проверяйте заходите ли в условие if (Core_Array::getPost('recount') || Core_Array::getPost('step') == 1) , если да то смотрите что получаете в  $quantity

В условие заходим, а в $quantity изменений нет.
iNikSite - дизайн и фронтенд разработка
#
Re: recount в корзине
В $quantity не передается нужное число ? Если да, то название поля с количеством не соответствует 'quantity_' . $oShop_Cart->shop_item_id
«Не выходи из комнаты, не совершай ошибку…»
#
Re: recount в корзине
llirik писал(а):
$quantity не передается нужное число ? Если да, то название поля с количеством не соответствует 'quantity_' . $oShop_Cart->shop_item_id

Поля, вроде как, соответствуют
<input class="item-quantity" type="number" size="3" maxlength="4" name="quantity_3416" id="quantity_3416" value="1">
iNikSite - дизайн и фронтенд разработка
#
Re: recount в корзине
3416 это id товара? Еще есть вариант что данные все таки передаются, но в $bCheckStock указано TRUE и количество не меняется из-за того что указано больше чем на складе.  В рамках форума это проблематично решить, нужно на месте отлаживать.
«Не выходи из комнаты, не совершай ошибку…»
#
Re: recount в корзине
llirik писал(а):
3416 это id товара? Еще есть вариант что данные все таки передаются, но в $bCheckStock указано TRUE и количество не меняется из-за того что указано больше чем на складе.  В рамках форума это проблематично решить, нужно на месте отлаживать.


3416 - id товара в корзине, для примера. Я изначально тоже думал, что это из-за количества на складе - изначально у всех товаров было 1. Но увеличение не помогло. У клиента техподдержка не продлена, поэтому пишу на форуме.
iNikSite - дизайн и фронтенд разработка
Модератор
#
Re: recount в корзине
iNik,
попробуйте убрать указание shop_warehouse_id. Попробуйте несколько раз добавить товар и посмотрите, будет ли увеличиваться количество в корзине.

По прежнему на форуме по фрагменту кода придумывать в чем проблема очень сложно, полагаю необходимо продлить период поддержки обратиться в поддержку с данными доступа.
#
Re: recount в корзине
iNik писал(а):
В условие заходим, а в $quantity изменений нет.

Раз так, то может попробуете для понимание действительно ли есть quantity_* :
if (Core_Array::getPost('recount') || Core_Array::getPost('step') == 1)
{
    $oShop_Cart_Controller = Shop_Cart_Controller::instance();
    $aCart = $oShop_Cart_Controller->getAll($oShop);

    foreach ($aCart as $oShop_Cart)
    {
        $oShop_Cart_Controller
            ->shop_item_id($oShop_Cart->shop_item_id)
            ->quantity(Core_Array::getRequest('quantity_' . $oShop_Cart->shop_item_id))
            ->update();
    }
}

Имеется ввиду без склада.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: recount в корзине
Здравствуйте, столкнулся с подобной проблемой, наблюдаю за переменной
$quantity = Core_Array::getPost('quantity_' . $oShop_Cart->shop_item_id);
    echo $quantity;

Но постоянно выводится 1, не зависимо от того
чтобы я не прописал в значении input
<input type="text" size="3" id="quantity_4358" name="quantity_4358" value="3">
Даже при таком значении после нажатия на кнопку пересчитать и перезагрузки страницы, я вижу значение переменной 1
Авторизация