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 team please let me know how can we achieve helper class functionality where common code can be wr

U03TXRYL7U7
U03TXRYL7U7 Posts: 64 🧑🏻‍🚀 - Cadet

hi team
please let me know how can we achieve helper class functionality where common code can be written

Comments

  • Alberto Reyer
    Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer

    Depends on where you want to use it. Spryker already has a few parts to place such functionality.

    In templates/views -> Widget or twig function (depends on the scope of your helper)
    To share code between Yves/Zed/Client -> Service
    Share access to a 3rd party API/Storage -> Client

  • U03TXRYL7U7
    U03TXRYL7U7 Posts: 64 🧑🏻‍🚀 - Cadet
    edited May 2023

    in zed layer, if 2 modules needs to access same function, then how we can do that

  • Alberto Reyer
    Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer

    Then the shared functionality is probably a separate module.
    Or one module provides the functionality, and the other one uses it by using the respective facade method.

    Really depends on the structure, a few examples:

    1. Price calculation in cart & checkout -> calculation module (separate module), as how the calculation exactly works can change, but the cart & checkout will be the same, they just display other numbers then, and vice versa when the cart/checkout changes, the calculation does not need to change as well
    2. Url & category urls -> slugifying rules will be needed in both, either when you update a url or a more specific category url, so category urls already depend on urls, and I would put the slugifying into the url module and either expose it via facade method or just allow to put in any url into the url module and do the slugifiying internally in the url module
      But this is a whole discipline to find the right boundaries and dependencies and pretty much depends on the current and future use cases.
  • U03TXRYL7U7
    U03TXRYL7U7 Posts: 64 🧑🏻‍🚀 - Cadet

    ok thanks