バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > 開発について > Sessionの利用方法について

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sheep
投稿日時: 2018/8/12 14:29
対応状況: −−−
半人前
登録日: 2018/8/12
居住地:
投稿: 14
Sessionの利用方法について
[達成したいこと]
管理画面の商品情報詳細ページ(admin_product_product_new と admin_product_product_edit)で
フィールドの追加を行い、その情報を別テーブルに保存したい。

- 動的なフィールド追加なので、Entity\ProductTrait.php のフィールドに
@ORM\Column を静的に実装する方法ではなく別テーブルに保存したい
- 別テーブルに ProductID を key として情報を保存したい

[やろうとしていること]
編集画面(admin_product_product_edit)ではすでに ProductID が決まっているので
Symfony の FormEvent の POST_SUBMIT のタイミングで普通に保存できました。
しかし、新規登録画面(admin_product_product_new)ではまだ ProductID が決まっていないので
Product本体情報保存後の、リダイレクト先(admin_product_product_edit)で保存するために
保存したい情報を一旦 SESSION に保存しようかな、と考えています。

[困っていること]
Symfony の FormEventの POST_SUBMIT のタイミングで
Symfony の Session を利用する方法がわかりません。

$_SESSION グローバル変数を直接利用しちゃえば実装可能だとは思うのですが
Symfony を利用している以上、行儀が悪いかな、と思って質問させていただきました。

また、上のような 「SESSION 保持からのリダイレクト先で保存」というアプローチではなく
新規追加の ProductID を取得する方法があればそちらの方法でも大丈夫です。
EC-CUBEのソースのこの辺で似たようなことやってるよーという情報でも十分です。

ヒントいただけると助かります。
nanasess
投稿日時: 2018/8/20 18:00
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: Sessionの利用方法について
お作法としては、 Session を利用したいクラスのコンストラクタで Session クラスをインジェクションするのが正しいですね。


use Symfony\Component\HttpFoundation\Session\SessionInterface;
    protected $session;
    public function __construct(
        SessionInterface $session
    ) {
        $this->session = $session;
    }



もしくは、 onKernelController イベントで Request から取得する方法もあります。
https://stackoverflow.com/a/11506088/4956633
sheep
投稿日時: 2018/8/21 0:21
対応状況: 解決済
半人前
登録日: 2018/8/12
居住地:
投稿: 14
Re: Sessionの利用方法について
@nanasess

なんと、、、sessionもインジェクションで取れるんですね。。。
なーんとなくインジェクションを利用していて
何が取れるのか、何が取れないのか、よく理解していないあたりが問題ですね。

ご回答ありがとうございます!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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