バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > Preprocessor でカートに商品を追加するとエラー

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
h_tanaka
投稿日時: 2020/3/16 18:54
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
Re: Preprocessor でカートに商品を追加するとエラー
そもそも ItemHolderPreprocessor 内で商品をカートに追加するにはどうすればいいのでしょうか?

標準機能において、商品ページで商品を追加するときは次のような処理を行っています。

src/Eccube/Controller/ProductController.php
// カートへ追加
$this->cartService->addProduct($addCartData['product_class_id'], $addCartData['quantity']);

// 明細の正規化
$Carts = $this->cartService->getCarts();
foreach ($Carts as $Cart) {
    $result = $this->purchaseFlow->validate($Cart, new PurchaseContext($Cart, $this->getUser()));
    // 復旧不可のエラーが発生した場合は追加した明細を削除.
    if ($result->hasError()) {
        $this->cartService->removeProduct($addCartData['product_class_id']);
        foreach ($result->getErrors() as $error) {
            $errorMessages[] = $error->getMessage();
        }
    }
    foreach ($result->getWarning() as $warning) {
        $errorMessages[] = $warning->getMessage();
    }
}

$this->cartService->save();


この処理を参考にしているのですが、疑問があります。

1. 明細の正規化ってなんでしょうか?
  ItemHolderPreprocessor で商品をカートに追加するときも必要でしょうか?

2. 処理内で purchaseFlow を呼んでいるのですが、ItemHolderPreprocessor から purchaseFlow を呼ぶのって正しいのでしょうか?


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

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


題名 投稿者 日時
   Preprocessor でカートに商品を追加するとエラー h_tanaka 2020/3/4 16:59
     Re: Preprocessor でカートに商品を追加するとエラー h_tanaka 2020/3/4 20:44
       Re: Preprocessor でカートに商品を追加するとエラー h_tanaka 2020/3/4 20:49
       » Re: Preprocessor でカートに商品を追加するとエラー h_tanaka 2020/3/16 18:54

 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1282
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.