Перейти к содержанию
Pashkje

Ошибка при добавлении товара в заказ

Рекомендуемые сообщения

Здравствуйте, столкнулся с проблемой. Если попытаться добавить в уже готовый заказ товар, на котором весит статус "Отключено", то он не добавляется. Перерыл model/sale/order.php, view/sale/order.tpl, controller/sale/order.php. Нигде не могу найти, условие, в котором говорится, что если status = 0, не добавлять. Не поможете разобраться? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, что, разве с этим никто не сталкивался? :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Условие в базе

model_catalog_product->getProduct

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

странно, по удалял условия в файлах: controller\product\product.php и controller\sale\order.php и всё равно не добавляется товар, если стоит статус "отключено". Может кто-то уже решал данную проблему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

редактирование заказов происходит "в среде покупателя" (в каталоге).

для покупателей (в каталоге) отключенные товары не существуют.

надо добавлять отдельный метод в модель и вызывать его, вместо родного, в процессе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

редактирование заказов происходит "в среде покупателя" (в каталоге).

для покупателей (в каталоге) отключенные товары не существуют.

надо добавлять отдельный метод в модель и вызывать его, вместо родного, в процессе.

Окей, спасибо. Будем пробовать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

стартовать отсюда

catalog/controller/checkout/manual.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

стартовать отсюда

catalog/controller/checkout/manual.php

Смотрите, я в этом файле 

$this->load->model('catalog/product1');
				
				if (isset($this->request->post['order_product'])) {
				foreach ($this->request->post['order_product'] as $order_product) {
					$product_info = $this->model_catalog_product1->getProduct($order_product['product_id']);
				
					if ($product_info) {	
						$option_data = array();
						
						if (isset($order_product['order_option'])) {
							foreach ($order_product['order_option'] as $option) {
								if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'image') { 
									$option_data[$option['product_option_id']] = $option['product_option_value_id'];
								} elseif ($option['type'] == 'checkbox') {
									$option_data[$option['product_option_id']][] = $option['product_option_value_id'];
								} elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') {
									$option_data[$option['product_option_id']] = $option['value'];						
								}
							}
						}
															
						$this->cart->add($order_product['product_id'], $order_product['quantity'], $option_data);
					}
				}
			}

в product1 сделал class ModelCatalogProduct1 и остальное скопипастил с model/catalog/product. Вроде всё ок, теперь файл product1 отвечает за добавление товаров в заказы в админке. Но, всё равно не могу разобраться с p.status = '1'. Если я меняю значение на '0', либо пишу AND p.status IN ('0', '1') или AND (p.status = '1' OR p.status = '0')  - всё равно, ноль на массу, всё равно не добавляются товары в заказ со статусом в базе, которое равно '0'. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я вам написал откуда стартовать, а не чем ограничиваться.

товары добавляются через библиотеку

$this->cart->add(
разбирайтесь, как выбрать нужные товары с помощью вашей новой модели и добавляйте дополнительный метод в библиотеку для обработки данных конкретно из этого контроллера (не забываем, что там тоже нужна ВАША модель).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я вам написал откуда стартовать, а не чем ограничиваться.

товары добавляются через библиотеку

$this->cart->add(
разбирайтесь, как выбрать нужные товары с помощью вашей новой модели и добавляйте дополнительный метод в библиотеку для обработки данных конкретно из этого контроллера (не забываем, что там тоже нужна ВАША модель).

 

Короче я психанул и сделал, через ж...))

Увидел, что в карточке товара есть "налоги". Узнал Id налога tax_class_id и всё. Создал новый метод product1.php и там добавил p.tax_class_status <> '9'(то самый id, который узнавал) и всё. И переименовал налоги в "статус" и в выпадающем списке переименовал "вкл\выкл" и всё. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.