バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > その他 > TaxRuleEventSubscriver.phpでgetProduct()がnullになる

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hmorita_j
投稿日時: 2017/3/29 11:33
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 129
TaxRuleEventSubscriver.phpでgetProduct()がnullになる
▼テンプレート
[EC-CUBE] githubの現在(2017/3/29)のmaster
[レンタルサーバ] ローカル環境
[OS] macOS Sierra 10.12.4
[PHP] php7.0
[データベース] mysql5.7
[WEBサーバ] apache2.4

[現象]
個別消費税率設定が反映されないため調べていくと、
src/Eccube/Doctrine/EventSubscriber/TaxRuleEventSubscriber.phpのpostLoad()にて、$entity->getProduct()がNULLになっていました。

        if ($entity instanceof ProductClass) {
            var_dump($entity->getProduct());←NULLになる
            $entity->setPrice01IncTax($this->taxRateService->getPriceIncTax($entity->getPrice01(), $entity->getProduct(), $entity));
            $entity->setPrice02IncTax($this->taxRateService->getPriceIncTax($entity->getPrice02(), $entity->getProduct(), $entity));
        }


通常はProductエンティティが取得できると思うのですが、、、
どのような原因が考えられるのでしょうか?
同様の現象になられた方はいらっしゃいませんでしょうか?

ちなみに、商品一覧では正常に取得できるのですが、商品詳細では取得できません。
h_tanaka
投稿日時: 2017/3/29 12:01
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 306
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
その処理が走る前のページにおいて、商品規格が存在する商品なのに商品規格が表示または設定されていないと思われます。
hmorita_j
投稿日時: 2017/3/29 12:12
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 129
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
商品規格は存在しない商品なんです。
デフォルトのパーコレーターです。
h_tanaka
投稿日時: 2017/3/29 12:17
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 306
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
うーん、なんでしょう・
src/Eccube/Controller/ShoppingController.php(1311行目)
にセットしている処理があるのでデバッグしてみてください。
hmorita_j
投稿日時: 2017/3/30 9:33
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 129
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
すみません、私が理解できていないのですが、ShoppingControllerの1311行目は以下なのですが、何をデバッグすれば良いでしょうか?


$ShipmentItem->setShipping($Shipping)
                            ->setOrder($Order)
                            ->setProductClass($ProductClass)
                            ->setProduct($Product)
                            ->setProductName($Product->getName())
                            ->setProductCode($ProductClass->getCode())
                            ->setPrice($ProductClass->getPrice02())
                            ->setQuantity($quantity);


h_tanaka
投稿日時: 2017/3/30 9:38
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 306
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
エンティティのgetProduct()がnullということは、エンティティに本来セットするはずの$Productがnull、もしくはsetProduct()がコールされていないということです。
ShoppingController.phpの1311行目でsetされている$Productは1288行目でgetしています。
さらにそこでgetされている$Productをどこでsetされているかを追って・・・
と、順に元をたどっていけば原因がつかめると思います。
h_tanaka
投稿日時: 2017/3/30 9:39
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 306
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
もっとスマートな調べ方はあるかもしれませんが、私はこの方法でデバッグしています。
hmorita_j
投稿日時: 2017/3/30 10:17
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 129
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
ShoppingControllerと今回の事象がどういう関係にあるのかがちょっとわからないので、もう一度整理させてください。

[事象]
個別税率を設定した際、特定ページで個別税率が反映されない(デフォルトの税率が反映されてしまう)

[個別税率が反映されるページ]
商品一覧
購入確認

[個別税率が反映されないページ]
商品詳細
カート

[確認したこと]
商品の税込価格はTaxRuleEventSubscriver.phpでセットされているはずだが、通常なら取得できるProductエンティティがnullとなっており、そのために該当のTaxRuleを取得できていない。
$entity->setPrice01IncTax($this->taxRateService->getPriceIncTax($entity->getPrice01(), $entity->getProduct(), $entity));

ここの $entity->getProduct()がnullになっています。




h_tanaka
投稿日時: 2017/3/30 10:26
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 306
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
購入確認ではうまく反映されているのですね^^;

商品詳細ではControllerやServiceではセットしていないようです。
どこでセットされているか調べますので、お時間ください。
hmorita_j
投稿日時: 2017/3/30 10:28
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 129
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
すみません!
ありがとうございますm(_ _)m
(1) 2 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は19,739名です
総投稿数は82,442件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1632
4
yuh
1387
5
red
1064
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
784
10
umebius
712
11
tao_s
651
12 sumida 638
13
homan
633
14
468
630
15 karin 609
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.