@Burundug

Редактирование опций на странице подтверждения заказа opencart?

Добрый день. Пытаюсь сделать редактирование опций на странице подтверждения opencart 2.3.
Сделал вывод опций добавлением в контроллер
$options_my = array();

			foreach ($this->model_catalog_product->getProductOptions($product['product_id']) as $option) {
				$product_option_value_data = array();

				foreach ($option['product_option_value'] as $option_value) {
					if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
						if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
							$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);
						} else {
							$price = false;
						}

						$product_option_value_data[] = array(
							'product_option_value_id' => $option_value['product_option_value_id'],
							'option_value_id'         => $option_value['option_value_id'],
							'name'                    => $option_value['name'],
							'image'                   => $this->model_tool_image->resize($option_value['image'], 50, 50),
							'price'                   => $price,
							'price_prefix'            => $option_value['price_prefix']
						);
					}
				}

				$options_my[] = array(
					'product_option_id'    => $option['product_option_id'],
					'product_option_value' => $product_option_value_data,
					'option_id'            => $option['option_id'],
					'name'                 => $option['name'],
					'type'                 => $option['type'],
					'value'                => $option['value'],
					'required'             => $option['required']
				);
			}

После вставил в ['products']
'options_my' => $options_my,
Всё выводится отлично, но как собственно их редактировать ?
Судя по редактированию количества товара - запрос идёт в метод public function edit() { контроллера checkout...
Может кто помочь с этим ?
  • Вопрос задан
  • 519 просмотров
Пригласить эксперта
Ответы на вопрос 1
zoozag
@zoozag
Opencart
Все верно.
Редактирование товаров в методе controller/checkout/cart.php -> edit()
Плюс вам нужно будет править system/library/cart/cart.php -> update()

1. Аяксом передаете в контроллер массив: Ключ в корзине, Количество, Новые опции
2. Из контроллера передаете это в библиотеку корзины
3. Остается дописать запрос, чтобы помимо количества он еще и информацию об опциях обновлял.
Ответ написан
Ваш ответ на вопрос

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

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