@babyknight_11
Я только учусь

Как добавить выбраннную опции в оповещение при заказе товара Opencart 2.3?

Здравствуйте, хочу добавить на свой сайт функцию. При добавление товара с опцией в оповещении(что товар добавился в корзину) показывалась выбранная опция.
Подскажите, что поправить в файле :
controller\checkout\cart.php
$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));

Чтобы при выборе опции 2-3 года, было примерно так
5b5244fb48b83568345130.png5b5245037d431964414352.png
На одном из форумов посоветовали вот такой выход:
Заменить:
$option_data = array();

				foreach ($product['option'] as $option) {
					if ($option['type'] != 'file') {
						$value = $option['value'];
					} else {
						$upload_info = $this->model_tool_upload->getUploadByCode($option['value']);

						if ($upload_info) {
							$value = $upload_info['name'];
						} else {
							$value = '';
						}
					}

					$option_data[] = array(
						'name'  => $option['name'],
						'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value)
					);
				}

на это
$option_data = array();	
		foreach ($product_options as $product_option) {
			    if ($product_option['required'] && empty($option[$product_option['product_option_id']])) {
				    $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']);
			    }
			    if(!empty($option[$product_option['product_option_id']])){
				foreach($product_option as $k => $p_o){
				    if($k == 'product_option_value'){
					foreach($p_o as $v_p_o){
					    if(is_array($option[$product_option['product_option_id']])){
						foreach($option[$product_option['product_option_id']] as $val){
						    if($val == $v_p_o['product_option_value_id']){
							$option_data[] = $v_p_o['name'];
						    }
						}
					    }else{
						if($option[$product_option['product_option_id']] == $v_p_o['product_option_value_id']){
						     $option_data[] = $v_p_o['name'];
						}
					    }
					}
				    }
				}
			    }
			}

+
$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'] . '(' . implode(',',$option_data) . ')', $this->url->link('checkout/cart'));

Но при этом выдает ошибку:
5b524588172e1577354443.jpeg5b5245900c2da198866660.jpeg
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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