Добрый день, подскажите пожалуйста, как происходит расчет стоимости в корзине? Например в карточке товара я нажал добавить в корзину и указал количество, вот не могу понять, в каком контроллере происходит эта калькуляция и как это все передается между контроллерами?
аяксом передается запрос в контроллер checkout/cart/add фрагмент кода js HTML: $('#button-cart').on('click', function() { $.ajax({ url: 'index.php?route=$('#button-cart').on('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/add', в контроллере вызывается метод библиотеки cart PHP: $this->cart->add($this->request->post['product_id'], $quantity, $option, $recurring_id); в котором товар записывается в базу PHP: public function add($product_id, $quantity = 1, $option = array(), $recurring_id = 0) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int) $this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int) $this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int) $product_id . "' AND recurring_id = '" . (int) $recurring_id . "' AND `option` = '" . $this->db->escape(json_encode($option)) . "'"); if (!$query->row['total']) { $this->db->query("INSERT INTO " . DB_PREFIX . "cart SET api_id = '" . (isset($this->session->data['api_id']) ? (int) $this->session->data['api_id'] : 0) . "', customer_id = '" . (int) $this->customer->getId() . "', session_id = '" . $this->db->escape($this->session->getId()) . "', product_id = '" . (int) $product_id . "', recurring_id = '" . (int) $recurring_id . "', `option` = '" . $this->db->escape(json_encode($option)) . "', quantity = '" . (int) $quantity . "', date_added = NOW()"); } else { $this->db->query("UPDATE " . DB_PREFIX . "cart SET quantity = (quantity + " . (int) $quantity . ") WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int) $this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int) $this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int) $product_id . "' AND recurring_id = '" . (int) $recurring_id . "' AND `option` = '" . $this->db->escape(json_encode($option)) . "'"); } }