Нет ничего плохого ни в одном из этих двух классов! Вот что происходит.
Ваш контроллер вызывает метод 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 вашего контроллера, и проверьте значения.