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, I got a question on orderEntity/ twig: I am sending a mail which displays the ordered products t

ULL0N440J
ULL0N440J Posts: 184 πŸ§‘πŸ»β€πŸš€ - Cadet
edited January 2020 in Help

Hi, I got a question on orderEntity/ twig:
I am sending a mail which displays the ordered products to the customer.

The mail contains the orderEntity. In the orderEntity every product is listed for the amount of its quantity. Means:
You order 4 products of the same type - instead of writing

4x Printer
2x Paper

The output is

1x Printer
1x Printer
1x Printer
1x Printer
1x Paper
1x Paper

Reducing this in PHP is easy - but twig drives me crazy.
Has anyone done this before?

Comments

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 πŸ§‘πŸ»β€πŸš€ - Cadet

    Are you setting it to mailTransfer as a property? Why not set the proper values in the first place?

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 πŸ§‘πŸ»β€πŸš€ - Cadet

    Order items with the quantity you want. Or you can introduce a new transfer just for this and add it to mailTransfer that you will use for generating the email.

  • ULL0N440J
    ULL0N440J Posts: 184 πŸ§‘πŸ»β€πŸš€ - Cadet

    I am setting the complete order. The OrderTransfer contains an order item

    $orderTransfer = $this->getOrderTransfer($salesOrderEntity);
    
    $mailTransfer = new MailTransfer();
    $mailTransfer->setOrder($orderTransfer);
    $mailTransfer->setType(OrderConfirmationMailTypePlugin::MAIL_TYPE);
    $mailTransfer->setLocale($orderTransfer->getLocale());
    

    In project/src/Pyz/Zed/Oms/Business/Mail/MailHandler.php

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited January 2020

    Why don't you modify the values before setting it to mail transfer? Doing it in twig is really a wrong place.

  • ULL0N440J
    ULL0N440J Posts: 184 πŸ§‘πŸ»β€πŸš€ - Cadet

    Doing it in twig is really a wrong place.

    Indeed it is.

    You're right, I could just manipulate the orderTransfer and break down the products to one entry before I pass it to the mailTransfer

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 πŸ§‘πŸ»β€πŸš€ - Cadet

    jup, that is the easiest way

  • ULL0N440J
    ULL0N440J Posts: 184 πŸ§‘πŸ»β€πŸš€ - Cadet

    Don't know why I missed that πŸ™„ .. Thank you!

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 πŸ§‘πŸ»β€πŸš€ - Cadet

    Glad I could help.