バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > EventArgsにsetしたOrder情報が反映されない。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shimbo
投稿日時: 2018/12/19 12:20
対応状況: −−−
半人前
登録日: 2018/10/5
居住地:
投稿: 23
EventArgsにsetしたOrder情報が反映されない。
[EC-CUBE] EC-CUBE3.0.16
[レンタルサーバ] XServer
[OS] FreeBSD 9.1-RELEASE-p24
[PHP] 5.6.36
[データベース] MySQL 5.7.16
[WEBサーバ] Apache
[ブラウザ] Chrome
[導入プラグインの有無] 自作中
[現象]

イベントをフックする
public function onFrontShoppingIndexInitialize(EventArgs $event)
を作成しました。その中で、送料の値を変更する処理を入れています。

$order->setDeliveryFeeTotal($deliveryFee);
$event->setArgument('Order', $order);


この直後の時点では、$event->getArgument('Order')->getDeliveryFeeTotal()すると、正しい値が設定されています。

しかし受注確定後のフックポイント
public function onFrontShoppingConfirmComplete(EventArgs $event)の中で、

$event->getArgument('Order')->getDeliveryFeeTotal()すると、データベースに初期設定された送料に戻ってしまっています。結果として受注マスターに登録された値も初期設定値でした。

Orderに値を入れた後で、何かflush()のような反映する操作が必要なのでしょうか?

手がかりを教えて頂けたら助かります。


shimbo
投稿日時: 2018/12/19 20:47
対応状況: −−−
半人前
登録日: 2018/10/5
居住地:
投稿: 23
Re: EventArgsにsetしたOrder情報が反映されない。
shimbo
投稿日時: 2018/12/20 6:29
対応状況: −−−
半人前
登録日: 2018/10/5
居住地:
投稿: 23
Re: EventArgsにsetしたOrder情報が反映されない。
早とちりだったようです(汗)

$this->app['orm.em']->persist($order);
$this->app['orm.em']->flush($order);


上記を追加しても、反映されていません。うーん、なぜでしょうか……。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は50,845名です
総投稿数は93,478件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1984
4
468
1850
5
yuh
1602
6
red
1350
7
umebius
1296
8
h_tanaka
924
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

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