I need to insert in my emails conditional texts depending on shipping and payment methods.
I know how to display shipping method code:
{{var order.getShippingMethod()}}
and payment code:
{{var order.getPayment().getMethodInstance().getCode()}}
There are conditional statements like "if" and "depend" available. But none of them offers comparison to a string, which is necessary to achieve what want. For example this does not work or I am doing it not right?
{{if order.getShippingMethod() == "storepickup"}} text1 {{else}} text2 {{/if}}
What I was able to do was to add a block that can display what I need
{{block type='core/template' area='frontend' template='custom/email/new/payment.phtml' order=$order}}
but this way this text is defined outside the email template making maintenance complicated.
Is there a way to achieve what I need with existing functionality? Maybe I am able to add some custom variable or method I could use with conditional statement. How to do that?
Hello @kathdroid
{{block type='core/template' area='frontend' template='custom/email/new/payment.phtml' order=$order}}
i am not sure what is issue with that
Using another way possible in order model you can extends and add new method
public function getShippingData() { .............................. }
and you can that method into email template
hope it will help you.
Hi,
I have the same question. Can anyone explain how to do it? I have tried:
{{if var shippingMethod == 'shippingcode_shippingcode'}}
I am trying to get it to work in Magento 2.3
Thanks,
Stan
Where did you store your block in the theme directory? I’m trying to return some content depending the payment method.
great advice
I am glad to see it. check my site save with blogs