We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
purchaseflow.yamlで指定されているpriorityにてソートする際に、nameで指定されている単位にてソートが行われるため、異なるflow_typeのpriorityにてソートが行われpriorityの指定とは異なる順で処理が実行される部分がある。
これにより、プラグインにてPriorityを指定しイベントを追加する際も意図した順番に追加が行えない状態が発生します。
purchaseflow.yamlにてAddPointProcessorとPaymentValidatorにてそれぞれ下記の設定が行われているかと思います。
(一部抜粋) AddPointProcessor
PaymentValidator
上記の設定の場合、flow_type = shopping に注目すると、 AddPointProcessorは「priority: 900 」 PaymentValidatorは「priority: 800」 となっているため、AddPointProcessor -> PaymentValidatorの順に実行されるのが正しいが、 PurchaseFlowPass.phpのfindAndSortTaggedServicesで取得を行った際に、 AddPointProcessorの「flow_type: shopping」に指定されている「priority: 900」 PaymentValidatorの「flow_type: cart」に指定されている「priority: 1000」が比較され これの順番に基づきflow_type毎の処理順番も設定されるため、「flow_type: shopping」において PaymentValidator -> AddPointProcessorの順で実行される状態となっている。
EC-CUBE: 4.3RC PHP: 8.1 DB: PostgreSQL 14
The text was updated successfully, but these errors were encountered:
起票ありがとうございます。 内容確認します。
Sorry, something went wrong.
PurchaseFlowのPriorityが意図しないソート順になっている場合がある EC-CUBE#6257 を修正
d72902d
purchaseFlowで呼び出すメソッドがflowTypeごとにソートされていなかったため、取得後にソートして出力するように修正
4a7d085
purchaseFlowで呼び出すメソッドがflowTypeごとにソートされていなかったため、flowTypeごとにソートされるように調整
Merge pull request #6258 from systemfriend-tsuji/feature/fix_purchase…
4a80b63
…_flow_priority PurchaseFlowのPriorityが意図しないソート順になっている場合がある #6257 の修正
マージ済のためクローズします。
No branches or pull requests
概要(Overview)
purchaseflow.yamlで指定されているpriorityにてソートする際に、nameで指定されている単位にてソートが行われるため、異なるflow_typeのpriorityにてソートが行われpriorityの指定とは異なる順で処理が実行される部分がある。
これにより、プラグインにてPriorityを指定しイベントを追加する際も意図した順番に追加が行えない状態が発生します。
再現手順(Procedure)
purchaseflow.yamlにてAddPointProcessorとPaymentValidatorにてそれぞれ下記の設定が行われているかと思います。
(一部抜粋)
AddPointProcessor
PaymentValidator
上記の設定の場合、flow_type = shopping に注目すると、
AddPointProcessorは「priority: 900 」
PaymentValidatorは「priority: 800」
となっているため、AddPointProcessor -> PaymentValidatorの順に実行されるのが正しいが、
PurchaseFlowPass.phpのfindAndSortTaggedServicesで取得を行った際に、
AddPointProcessorの「flow_type: shopping」に指定されている「priority: 900」
PaymentValidatorの「flow_type: cart」に指定されている「priority: 1000」が比較され
これの順番に基づきflow_type毎の処理順番も設定されるため、「flow_type: shopping」において
PaymentValidator -> AddPointProcessorの順で実行される状態となっている。
環境(Environment)
EC-CUBE: 4.3RC
PHP: 8.1
DB: PostgreSQL 14
The text was updated successfully, but these errors were encountered: