質問 > フロント機能 > 再注文処理のフローについて |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
t.o |
投稿日時: 2025/3/31 13:52
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2025/3/31 居住地: 投稿: 2 |
再注文処理のフローについて ### ▼テンプレート
- [EC-CUBE] 4.3 - [PHP] 8.1 - [データベース] MySQL - [WEBサーバ] Apache - [ブラウザ] Google Chrome --- ### ▼質問内容 現在、`ItemHolderValidator` を継承した独自のバリデータを作成し、`cart` フローで使用しています。 カートページでは正常に動作しているのですが、再注文処理から呼び出した場合にバリデータが動作していないように見えます。 `PurchaseFlow::validate()` にて、実行されているバリデータをログ出力したところ、`ItemValidator` のバリデータは実行されていることが確認できましたが、`ItemHolderValidator` のバリデータは実行されていませんでした。 これはEC-CUBEの仕様なのでしょうか? それとも実装や設定に何か不足がある可能性があるのでしょうか? もしご存じの方がいらっしゃれば、ご教示いただけますと幸いです。 よろしくお願いいたします。 |
tattsu |
投稿日時: 2025/4/1 8:55
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2023/12/23 居住地: 投稿: 413 |
Re: 再注文処理のフローについて カスタマイズしていなければ再注文(mypage_orderのルーティング)で
ItemHolderValidatorも実行されるはずなので、何か不足がある可能性があるかと思います。
|
t.o |
投稿日時: 2025/4/1 9:26
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2025/3/31 居住地: 投稿: 2 |
Re: 再注文処理のフローについて ありがとうございます。
やはりそうですよね。。 私も何度もコード読み直したんですが
の部分で呼ばれるはずですよね。 一旦、別の方法で対処できたので大丈夫そうです。 何が原因か探ってみようと思います。 引用:
※追記 もしかして、cart に遷移する際に実行されているのは確認できていたのですが、そちらのことでしょうか?
上記の処理内では、 ItemHolderValidator は呼ばれないということってありますか? |
tattsu |
投稿日時: 2025/4/1 22:02
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2023/12/23 居住地: 投稿: 413 |
Re: 再注文処理のフローについて 引用:
$result = $this->purchaseFlow->validate($Cart, new PurchaseContext($Cart, $this->getUser())); されているので、呼ばれるのではないでしょうか。 https://github.com/EC-CUBE/ec-cube/blob/4.3.0/src/Eccube/Service/PurchaseFlow/PurchaseFlow.php#L131 ここの$this->itemHolderValidatorsに、`ItemHolderValidator` を継承した独自のバリデータが含まれていれば呼ばれると思います。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |