I think the problem is that you must pass key => value and you pass like two array items. Here is from core code.
['payment' => $payment, 'invoice' => $invoice]
Try changing to
You have to save that quote value to the order table and then get
direct value in an email template.
For save quote value to order table. Define Events in the events.xml file.
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/...
Get your attribute like this. No need to load repository, you already have the product model with $productInfo
public function beforeAddProduct($subject, $productInfo, $requestInfo = null)
$attr = $productInfo->getResource()->getAttribute('my_tshirt');
$myTshirt = (string)$attr->getFrontend()->getValue($productInfo);
By the power of Google, I'm assuming you're using BoostMyShop's "Embedded ERP" extension. If not, you can stop reading here. If so, then have you reviewed their FAQ #10? The TLDR is that these adjustments are expected behavior if (1) you've designated a warehouse as primary, and (2) someone is updating product quantities directly from the Magento ...
Interceptor classes are used in the implementation of the plugin mechanism in Magento 2.
These classes are automatically generated when you run bin/magento setup:di:compile and you will find them in the 'generated' folder of your Magento installation. In your particular case, this means you will find your physical file as <magento_root_folder>/...