バージョン選択

フォーラム

メニュー

オンライン状況

75 人のユーザが現在オンラインです。 (67 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 75
もっと...

サイト内検索

質問 > その他 > 特定のカテゴリでシステムエラー出て困っています

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
dadance
投稿日時: 2025/3/10 11:51
対応状況: −−−
新米
登録日: 2025/3/4
居住地:
投稿: 10
特定のカテゴリでシステムエラー出て困っています
[EC-CUBE] 4.2.0
[PHP] 8.1
[データベース] MySQL8.0

[現象] 特定のカテゴリにアクセスするとシステムエラーが出てしまいます。
なお、その他のカテゴリは全く問題なくアクセスできます。
エラーログは下記の通りですが、Warning: Undefined array keyというのが原因でしょうか?
どうすれば解決できるかおわかりの方がいらっしゃいましたらよろしくお願い致します。

app.ERROR [80ba2395] [9b1e336] [N/A] [Eccube\Log\Logger:log:68] - システムエラーが発生しました。 ["Call to a member function getProductClasses() on null","/home/****/www/src/Eccube/Form/Type/AddCartType.php",74,"#0 /home/****/www/vendor/symfony/form/ResolvedFormType.php(131): Eccube\\Form\\Type\\AddCartType->buildForm()\n#1 /home/****/www/vendor/symfony/form/FormFactory.php(73): Symfony\\Component\\Form\\ResolvedFormType->buildForm()\n#2 /home/****/www/src/Eccube/Controller/ProductController.php(186): Symfony\\Component\\Form\\FormFactory->createNamedBuilder()\n#3 /home/****/www/vendor/symfony/http-kernel/HttpKernel.php(153): Eccube\\Controller\\ProductController->index()\n#4 /home/****/www/vendor/symfony/http-kernel/HttpKernel.php(75): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw()\n#5 /home/****/www/vendor/symfony/http-kernel/Kernel.php(202): Symfony\\Component\\HttpKernel\\HttpKernel->handle()\n#6 /home/****/www/index.php(83): Symfony\\Component\\HttpKernel\\Kernel->handle()\n#7 {main}"] [GET, /products/list?category_id=29, 106.154.146.242, https://****.com/products/list?category_id=22, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36]

php.CRITICAL [80ba2395] [9b1e336] [N/A] [Symfony\Component\ErrorHandler\ErrorHandler:handleException:584] - Uncaught Error: Call to a member function getProductClasses() on null {"exception":"[object] (Error(code: 0): Call to a member function getProductClasses() on null at /home/****/www/src/Eccube/Form/Type/AddCartType.php:74)"} [GET, /products/list?category_id=29, 106.154.146.242, https://****.com/products/list?category_id=22, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36]

php.WARNING [80ba2395] [9b1e336] [N/A] [Symfony\Component\ErrorHandler\ErrorHandler:handleError:538] - Warning: Undefined array key 44499 {"exception":"[object] (ErrorException(code: 0): Warning: Undefined array key 44499 at /home/****/www/src/Eccube/Controller/ProductController.php:186)"} [GET, /products/list?category_id=29, 106.154.146.242, https://****.com/products/list?category_id=22, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36]
h_tanaka
投稿日時: 2025/3/10 11:55
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 2007
Re: 特定のカテゴリでシステムエラー出て困っています
Call to a member function getProductClasses() on null
src/Eccube/Form/Type/AddCartType.php:74

これがエラーの原因と場所になります。
src/Eccube/Form/Type/AddCartType.php の 74行目を確認してください。

例えば、
$Entity->getProductClasses()
このようなコードがある場合、$Entity にあたるオブジェクトが null であることがエラーの原因です。

getProductClasses() をコールしているオブジェクトを正しく取得または定義するか、例外処理を追加すれば解決すると思います。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

tattsu
投稿日時: 2025/3/10 12:54
対応状況: −−−
仙人
登録日: 2023/12/23
居住地:
投稿: 417
Re: 特定のカテゴリでシステムエラー出て困っています
バージョンアップを行われたのでしょうか??

そうであればこのエラーはdtb_product_stockテーブルにデータが正しく移せていない場合にも発生します。一度見てみることをおすすめします。

他にもカスタマイズミスやプラグインの干渉など原因色々考えられるのですが上記のケースが多いですね。


----------------
-------------------

各決済会社3Dセキュア実装・EC-CUBEカスタマイズ・不具合修正
お任せください。ゴールドパートナー。

dadance
投稿日時: 2025/3/10 14:11
対応状況: −−−
新米
登録日: 2025/3/4
居住地:
投稿: 10
Re: 特定のカテゴリでシステムエラー出て困っています
ありがとうございます。

74行目あたりは以下のような記述です。

/* @var $Product \Eccube\Entity\Product */
$Product = $options['product'];
$this->Product = $Product;
$ProductClasses = $Product->getProductClasses();

どういうふうに書き換えればよいでしょうか?
知識不足で自力では難しいのでよろしければご教授ください。
宜しくお願いいたします。
dadance
投稿日時: 2025/3/10 14:13
対応状況: −−−
新米
登録日: 2025/3/4
居住地:
投稿: 10
Re: 特定のカテゴリでシステムエラー出て困っています
はい、2.12からのアップデートです。
一度データベースを確認してみます。
h_tanaka
投稿日時: 2025/3/10 14:16
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 2007
Re: 特定のカテゴリでシステムエラー出て困っています
そのあたりは EC-CUBE 標準のソースのようなので、 twig か FormType に問題がありそうです。
商品詳細ページに影響しそうなプラグインや独自カスタマイズはありますか?


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

dadance
投稿日時: 2025/3/10 14:49
対応状況: −−−
新米
登録日: 2025/3/4
居住地:
投稿: 10
Re: 特定のカテゴリでシステムエラー出て困っています
プラグインは入れておりません。

現象としてはカテゴリの構造が
第1階層>第2>第3>第4
とあるのですが、問題のカテゴリは第3です。
その下にある第4はURL直打ちで見に行けば見られます。

他のカテゴリには全く影響が出ておりませんので、やはり移行したデータベースが原因でしょうかね。
h_tanaka
投稿日時: 2025/3/10 14:53
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 2007
Re: 特定のカテゴリでシステムエラー出て困っています
移行したデータの商品カテゴリのリレーションがおかしくて、カテゴリーから商品が取得できないのかもしれません。
データベースで dtb_product_category の対象カテゴリーのレコードを確認するか、デバッグするかで、原因を特定していくのが良いと思います。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

tattsu
投稿日時: 2025/3/10 15:27
対応状況: −−−
仙人
登録日: 2023/12/23
居住地:
投稿: 417
Re: 特定のカテゴリでシステムエラー出て困っています
試せてないですが、おそらくデータベース上でこのSQLを実行して
ヒットする行があればその商品のdtb_product_stockデータがエラーの原因だと思います。

SELECT * FROM dtb_product_class
       LEFT JOIN dtb_product ON dtb_product.id = dtb_product_class.product_id
        LEFT JOIN dtb_product_stock ON dtb_product_class.id = dtb_product_stock.product_class_id
        WHERE dtb_product_stock.id IS NULL AND dtb_product_class.visible = 1 AND dtb_product.product_status_id = 1
          AND (dtb_product_class.stock_unlimited = 1 OR 0 < dtb_product_class.stock)


----------------
-------------------

各決済会社3Dセキュア実装・EC-CUBEカスタマイズ・不具合修正
お任せください。ゴールドパートナー。

dadance
投稿日時: 2025/3/10 15:45
対応状況: 解決済
新米
登録日: 2025/3/4
居住地:
投稿: 10
Re: 特定のカテゴリでシステムエラー出て困っています
product_id=44499 が悪さをしていたようで、dtb_product_classとdtb_product_categoryの44499を削除したところエラーが出ていたページが表示されるようになりました。
44499は廃止商品のレコードなので思い切って削除しました。

h_tanaka様、tattsu様お教えいただきありがとうございました。


tattsu様
44499削除後にいただいたSQLを走らせたところ返り値0だったので何とかなったようです。
今後同様なケースが出ないか不安ではありますが・・・
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は106,436名です
総投稿数は112,618件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2331
5
umebius
2085
6
h_tanaka
2007
7
yuh
1900
8
mcontact
1709
9
red
1582
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.