バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sheep
投稿日時: 2018/8/12 14:29
対応状況: −−−
半人前
登録日: 2018/8/12
居住地:
投稿: 11
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
居住地: 大阪
投稿: 2115
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


----------------
大河内健太郎(Kentaro Ohkouchi)
EC-CUBE公式エバンジェリスト
スキルニル株式会社

EC-CUBE1系2系長期サポートホスティングサービス CUBE Lab
https://cubelab.info/

sheep
投稿日時: 2018/8/21 0:21
対応状況: 解決済
半人前
登録日: 2018/8/12
居住地:
投稿: 11
Re: Sessionの利用方法について
@nanasess

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

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


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は67,425名です
総投稿数は98,787件です

投稿数ランキング

1
seasoft
7333
2
AMUAMU
2712
3
468
2692
4
nanasess
2115
5
umebius
1788
6
yuh
1612
7
red
1427
8
h_tanaka
1051
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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