What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Hi πŸ‘‹ where is the best place to calculate the total shipping costs in the cart? Should I extend

UK5GL0DEF
UK5GL0DEF Posts: 10 πŸ§‘πŸ»β€πŸš€ - Cadet

Hi πŸ‘‹ where is the best place to calculate the total shipping costs in the cart? Should I extend the plugin stack in

/src/Spryker/Zed/Calculation/Communication/Plugin/Calculator

or rather

/src/Spryker/Zed/Shipment/Communication/Plugin/Calculation

Both modules come with CalculatorInterface:recalculate() Β―_(ツ)_/Β―

Comments

  • Unknown
    edited March 2020

    The Calculation module is rather generic and should not contain specific shipment related business logic, IMHO

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited March 2020

    but you could have the plugin in a different module? I think it's more a question of which Plugin to implement i.e. which extension point to use

  • Well ... the plugin should go into the Shipment module and it should implement the interface provided by the Calculation(Extension) module (dependency inversion)

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 πŸ§‘πŸ»β€πŸš€ - Cadet

    yes, that much is understood πŸ™‚ but we also have a CalculatorInterface in Shipment module

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited March 2020

    and we're not sure which extension point to use

  • If it's a new/additional calculation that you want to do then it should be a new plugin inside the Shipment module that implements the interface from CalculationExtension. The CalculatorInterface from the Shipment module is buried so deep inside the business layer that I would not use it as an extension point for project level business logic.

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited March 2020

    ok, thankyou πŸ™‚ we just stumbled upon the other CalculatorInterface but there is no extension point fo that