0

クライアントが 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

コントローラー ファイルは次のとおりです: http://pastebin.com/GT6YsFqt

フォーム項目がコントローラーを通過してモデルに取り込まれていることはわかっていますが、すべてのオプション情報がデータベースに保存されているわけではありません。

4

1 に答える 1

0

これらの2つのクラスのどちらにも問題はありません!これが何が起こっているかです。コントローラはModelクラスからeditProductメソッドを呼び出し、テンプレートページから取得した製品IDとPOSTデータを渡します。Controllerクラスの81行目:

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

したがって、問題が何であれ、POSTリクエストと関係があります。すべてのエラーメッセージは、$ product_option['product_option_value']のサブ配列であるその行の$product_option_valueから発生し、$product_optionは$this->request->postである$data['product_option']から発生します。テンプレートをチェックして、製品オプションを正しく渡しているかどうかを確認してください。サーバーにXdebugをインストールして、コードをデバッグすることをお勧めします。コントローラの81のようにブレークを入れて、値を確認するだけです。

于 2011-09-17T17:49:14.567 に答える