Koc Опубликовано 19 апреля, 2019 Жалоба Поделиться Опубликовано 19 апреля, 2019 Всем привет, подскажите в чем может быть ошибка.. В файле api/Cart.php, там где формируется $purchase, хочу добавить к цене +100 руб., но проблема в том, что для каждого следующего товара, эта цена прибавляется с учетом прошлого суммирования. foreach($items as $item) { $purchase = null; if(!empty($products[$item->variant->product_id])) { $item->variant->price += 100; $purchase = new stdClass(); $purchase->product = $products[$item->variant->product_id]; $purchase->variant = $item->variant; $purchase->amount = $item->amount; $purchase->options_id = $item->options_id; $cart->purchases[] = $purchase; $cart->total_price += $item->variant->price*$item->amount; $cart->total_products += $item->amount; } } В итоге получается в корзине лежит 3 товара, каждый изначально стоит по 200 руб., НО если прибавлять по 100 как в коде выше, по идее каждый товар должен стоить 300. А получается что 300, 400, 500. Почему так получается? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 19 апреля, 2019 Жалоба Поделиться Опубликовано 19 апреля, 2019 $item->variant->price = ($item->variant->price + 100); Цитата Ссылка на сообщение Поделиться на другие сайты
Koc Опубликовано 20 апреля, 2019 Автор Жалоба Поделиться Опубликовано 20 апреля, 2019 $item->variant->price = ($item->variant->price + 100); Тоже самое получается, у всех последующих товаров цена увеличивается не на 100, а на 200, 300, 400 и т.д., то есть с учетом прошлого увеличения. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 20 апреля, 2019 Жалоба Поделиться Опубликовано 20 апреля, 2019 $item->variant->price = ($item->variant->price + 100); Очень забавно и смешно. Это рекомендация опытного специалиста с многолетним стажем? А остальные места в Simpla c операторами '+=' тоже надо переделывать на более сложный синтаксис?В итоге получается в корзине лежит 3 товара, каждый изначально стоит по 200 руб., НО если прибавлять по 100 как в коде выше, по идее каждый товар должен стоить 300. А получается что 300, 400, 500. Почему так получается?У меня такого не получается, прибавляет 100 к цене каждого товара в корзине. Причина, видимо, в других Ваших переделках... Цитата Ссылка на сообщение Поделиться на другие сайты
Koc Опубликовано 20 апреля, 2019 Автор Жалоба Поделиться Опубликовано 20 апреля, 2019 У меня такого не получается, прибавляет 100 к цене каждого товара в корзине. Причина, видимо, в других Ваших переделках... Разобрался в чем проблема..Спасибо за помощь! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.