Ошибка кода Opencart - PullRequest
       7

Ошибка кода Opencart

0 голосов
/ 07 августа 2011

Я получаю эту ошибку, когда мой клиент пытается обновить продукт в opencart 1.4.9.3:

2011-08-06 13:54:29 - PHP Notice:  Undefined index: quantity in /home/adesignlink/innovativetrailers4less.com/admin/model/catalog/product.php on line 198
2011-08-06 13:54:29 - PHP Notice:  Undefined index: subtract in /home/adesignlink/innovativetrailers4less.com/admin/model/catalog/product.php on line 198
2011-08-06 13:54:29 - PHP Notice:  Undefined index: price in /home/adesignlink/innovativetrailers4less.com/admin/model/catalog/product.php on line 198
2011-08-06 13:54:29 - PHP Notice:  Undefined index: price_full in /home/adesignlink/innovativetrailers4less.com/admin/model/catalog/product.php on line 198
2011-08-06 13:54:29 - PHP Notice:  Undefined index: prefix in /home/adesignlink/innovativetrailers4less.com/admin/model/catalog/product.php on line 198

Вот файл модели: http://pastebin.com/VHL4BTLN

Вот контроллерfile: http://pastebin.com/GT6YsFqt

Я знаю, что элементы формы проходят через контроллер и в модель, но не сохраняют всю информацию о параметрах в БД.

1 Ответ

0 голосов
/ 17 сентября 2011

Нет ничего плохого ни в одном из этих двух классов! Вот что происходит. Ваш контроллер вызывает метод editProduct из вашего класса Model и передает идентификатор продукта и данные POST, которые поступают со страницы вашего шаблона. Строка 81 в вашем классе контроллеров:

$this->model_catalog_product->editProduct($this->request->get['product_id'], $this->request->post);

Так что, какая бы ни была проблема, как-то связана с вашим POST-запросом. Все сообщения об ошибках поступают из $ product_option_value в этой строке, которая является подрешеткой $ product_option ['product_option_value'], а $ product_option приходит из $ data ['product_option'], которая является $ this-> request-> post. Проверьте свой шаблон и посмотрите, правильно ли вы передаете параметры продукта. Я предлагаю вам установить Xdebug на ваш сервер и попытаться отладить код. просто поставьте перерыв, как 81 вашего контроллера, и проверьте значения.

...