Skip to main content
edited body
Source Link
Jeremy Daalder
  • 7.6k
  • 14
  • 26

This is a gotcha with the recent move to emails being sent by the queue and not during the actual checkout process.

Your problem is this line (and other lines you might have like it...):

variant.salePrice|commerceCurrency(craft.commerce.carts.cart.currency)

...when the queue runs, there is no current cart for the commerce carts service to retrieve, so therefore you also can't retrieve the currency from it.

If you change this to something direct, i.e. using the Craft currency filter, it will not raise this error.

https://docs.craftcms.com/v3/dev/filters.html#currency

variant.salePrice|currency('AUD')

...for example.

This is fine if your store only uses one currency.

If you are using multi currency, then I think you would need to retrieve the order.paymentCurrency in this case.

https://docs.craftcms.com/commerce/v3/payment-currencies.html#order-currency-fields

...in short, the one thing you can't go itdo is call on the current cart....because there isn't one for console (queue) requests.

This is a gotcha with the recent move to emails being sent by the queue and not during the actual checkout process.

Your problem is this line (and other lines you might have like it...):

variant.salePrice|commerceCurrency(craft.commerce.carts.cart.currency)

...when the queue runs, there is no current cart for the commerce carts service to retrieve, so therefore you also can't retrieve the currency from it.

If you change this to something direct, i.e. using the Craft currency filter, it will not raise this error.

https://docs.craftcms.com/v3/dev/filters.html#currency

variant.salePrice|currency('AUD')

...for example.

This is fine if your store only uses one currency.

If you are using multi currency, then I think you would need to retrieve the order.paymentCurrency in this case.

https://docs.craftcms.com/commerce/v3/payment-currencies.html#order-currency-fields

...in short, the one thing you can't go it call on the current cart....because there isn't one for console (queue) requests.

This is a gotcha with the recent move to emails being sent by the queue and not during the actual checkout process.

Your problem is this line (and other lines you might have like it...):

variant.salePrice|commerceCurrency(craft.commerce.carts.cart.currency)

...when the queue runs, there is no current cart for the commerce carts service to retrieve, so therefore you also can't retrieve the currency from it.

If you change this to something direct, i.e. using the Craft currency filter, it will not raise this error.

https://docs.craftcms.com/v3/dev/filters.html#currency

variant.salePrice|currency('AUD')

...for example.

This is fine if your store only uses one currency.

If you are using multi currency, then I think you would need to retrieve the order.paymentCurrency in this case.

https://docs.craftcms.com/commerce/v3/payment-currencies.html#order-currency-fields

...in short, the one thing you can't do is call on the current cart....because there isn't one for console (queue) requests.

Source Link
Jeremy Daalder
  • 7.6k
  • 14
  • 26

This is a gotcha with the recent move to emails being sent by the queue and not during the actual checkout process.

Your problem is this line (and other lines you might have like it...):

variant.salePrice|commerceCurrency(craft.commerce.carts.cart.currency)

...when the queue runs, there is no current cart for the commerce carts service to retrieve, so therefore you also can't retrieve the currency from it.

If you change this to something direct, i.e. using the Craft currency filter, it will not raise this error.

https://docs.craftcms.com/v3/dev/filters.html#currency

variant.salePrice|currency('AUD')

...for example.

This is fine if your store only uses one currency.

If you are using multi currency, then I think you would need to retrieve the order.paymentCurrency in this case.

https://docs.craftcms.com/commerce/v3/payment-currencies.html#order-currency-fields

...in short, the one thing you can't go it call on the current cart....because there isn't one for console (queue) requests.