2

Probably best to just update the address business tax ID if it is in the wrong format automatically for them. Event::on(Order::class, Order::EVENT_BEFORE_SAVE, function(\craft\events\ModelEvent $event) { /** @var Order $order */ $order = $event->sender; if ($order->getShippingAddress() && $order->getShippingAddress()->...


2

As of Commerce 3.1.12 only the one PDF can be registered in general settings. We will be adding support for additional PDFs to be configured in the next release. Stay tuned.


2

Product:<br> Shipping Category: {{ product.shippingCategory.name ?? 'None' }}<br> Tax Category: {{ product.taxCategory.name ?? 'None'}}<br> Variant:<br> Shipping Category: {{ variant.product.shippingCategory.name ?? 'None' }}<br> Tax Category: {{ variant.product.taxCategory.name ?? 'None' }}<br>


1

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 ...


1

This is caused by the model.countryId not being defined on first page load, which means the options defaults to an empty array. Once the address is saved, the selected country that is saved will provide the countryId and therefore your states dropdown is populated the second time around. IIRC, the sample Commerce templates hide the text field and show the ...


1

I took a guess and the answer was {{product.shippingCategory}}


1

I think you need to make two separate queries, get two arrays, combine them using the merge method and leave them unique, since these are different searches, textual and by related elements. It's like a quick fix, if I find something I will answer.


Only top voted, non community-wiki answers of a minimum length are eligible