バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > PurchaseFlow でセッションを使いたい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
h_tanaka
投稿日時: 2024/3/19 18:29
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1649
PurchaseFlow でセッションを使いたい
EC-CUBE4.2.3

あらかじめ流入メディアをセッションに保存しておき、注文完了時に流入メディアを受注情報に保存したいです。

注文完了ページのコントローラーイベントに追加するのでも良いのですが、可能なら ShoppingFlow の処理で保存するほうがスマートかと考えています。
以下のように実装してみたのですが、 $session が取得できないようです。
PurchaseFlow でセッションを使うことはできないのでしょうか?

エラー
Uncaught Error: Call to a member function get() on null


<?php

namespace Customize\Service\PurchaseFlow\Processor;

use Eccube\Annotation\ShoppingFlow;
use Eccube\Entity\ItemHolderInterface;
use Eccube\Entity\Order;
use Eccube\Service\PurchaseFlow\Processor\AbstractPurchaseProcessor;
use Eccube\Service\PurchaseFlow\PurchaseContext;
use Symfony\Component\HttpFoundation\Session\SessionInterface;

/**
 * 流入メディアの保存.
 *
 * @ShoppingFlow
 */
class RegisterMediaProcessor extends AbstractPurchaseProcessor
{
    /**
     * @var SessionInterface
     */
    protected $session;

    public function __construct(
        SessionInterface $session
    ) {
        $this->session = $session;
    }

    public function commit(ItemHolderInterface $target, PurchaseContext $context)
    {
        if (!$target instanceof Order) {
            return;
        }

        $media = $session->get('eccube.media');
        if ($media) {
            $target->setMedia($media);
        }
    }
}

フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » PurchaseFlow でセッションを使いたい h_tanaka 2024/3/19 18:29
     Re: PurchaseFlow でセッションを使いたい tattsu 2024/3/19 18:31
       Re: PurchaseFlow でセッションを使いたい h_tanaka 2024/3/19 18:40

 



ログイン


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

統計情報

総メンバー数は89,132名です
総投稿数は110,040件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1649
8
red
1570
9
mcontact
1298
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.