Calling Developers!
We are reenergizing our code contribution process! Learn More

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! A question for you: Is a good idea to use in Zed part, dependency provider, plugin created in c

Options
UKJKAFMMJ
UKJKAFMMJ Posts: 38 🧑🏻‍🚀 - Cadet

Hi! A question for you: Is a good idea to use in Zed part, dependency provider, plugin created in client?

Comments

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    This is a not a great idea. In principal client are to be used on Yves with some exceptions (Redis client, queue client etc.)

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    What is the use case for this?

  • UKJKAFMMJ
    UKJKAFMMJ Posts: 38 🧑🏻‍🚀 - Cadet
    Options

    I have a plugin in client which use storage client. With that plugin must to remove items from quote transfer -> instantiate in CartDependencyProvider.

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

    @UKJKAFMMJ You can place the logic/coded which does the remove into the Shared namespace and have a plugin in Zed as well as in Yves which both extend the code from the Shared namespace.
    Or you really build separate Plugins, as they could have slightly different dependencies.

    But one of the rules is, and I would suggest to follow it, that Zed should not know anything from Yves (no Yves namespaces in Zed classes) and vise versa.
    Following this principle will allow you to stay lean in Yves and make sure it can be deployed independently from Zed.

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    @UKJKAFMMJ this use case sounds a bit strange to me. It feels like the plugins was misused. I believe that you should have used cart expander (https://documentation.spryker.com/capabilities/cart/cart_functionality_and_calculations/cart-functionality.htm?Highlight=expander) to manipulate cart. In the end it is a business logic and this belongs to the Zed.

  • UKJKAFMMJ
    UKJKAFMMJ Posts: 38 🧑🏻‍🚀 - Cadet
    Options

    Understand! I will see what I can do 🙂

  • UKJKAFMMJ
    UKJKAFMMJ Posts: 38 🧑🏻‍🚀 - Cadet
    Options

    Thanks!

  • rshopin
    rshopin Senior Solution Architect Sprykee Posts: 32 🧑🏻‍🚀 - Cadet
    edited July 2019
    Options

    @UKJKAFMMJ Maybe cart pre reload plugins will be useful: \Pyz\Zed\Cart\CartDependencyProvider::getPreReloadPlugins

    E.g. plugin which removes from cart products without prices: \Spryker\Zed\PriceCartConnector\Communication\Plugin\FilterItemsWithoutPricePlugin