Добавить пользовательский атрибут для создания шаблонов электронной почты – Magento

Я создал атрибут «Companyname», который добавляется в информацию об учетной записи моего Клиента и является обязательным.

Он отлично заполняется при регистрации, формирует и редактирует страницы, а также отображается в сетке клиента в фоновом режиме.

Однако я не могу отображать название компании в любом из шаблонов электронной почты моего заказа.

Я считаю, что это потому, что в моих таблицах заказов нет ни одного столбца, называемого «companyname», и у меня нет какой-либо пользовательской переменной, которую я могу передать шаблонам заказов / счетов / отгрузок, чтобы отобразить название компании прямо рядом с линией после имени Клиента.

Может ли кто-нибудь указать на файл, где я могу создать эту настраиваемую переменную, содержащую мой пользовательский атрибут «companyname» и передать его всем типам шаблонов электронной почты продаж

благодаря

После небольшого поиска я нашел правильный файл, чтобы внести изменения. Поскольку у меня уже было «companyname» в качестве одного из моих атрибутов, я получил значение этого поля и передал его как параметр в следующей функции

Приложение / код / ​​ядро ​​/ Mage / Продажа / Модель / Order.php

public function sendNewOrderEmail() { /*Existing Code*/ if ($this->getCustomerIsGuest()) { $templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_GUEST_TEMPLATE, $storeId); $customerId = Mage::getModel('customer/customer')->load($this->getCustomerId()); $companyname = $customerId->getCompanyname(); $customerName = $this->getBillingAddress()->getName(); } else { $templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE, $storeId); $customerId = Mage::getModel('customer/customer')->load($this->getCustomerId()); $companyname = $customerId->getCompanyname(); $customerName = $this->getCustomerName(); } /*Existing Code*/ $mailer->setTemplateParams(array( 'order' => $this, 'billing' => $this->getBillingAddress(), 'payment_html' => $paymentBlockHtml, 'companyname' => $companyname )); /*Rest of the code remains the same*/ } 

Сделав это изменение. Я отредактировал свою электронную почту Transactional, чтобы включить этот параметр. Поскольку я хотел отобразить внутри адреса доставки, я поместил свою переменную непосредственно перед этой строкой в

  System > Transactional Emails > New Order Email {{ var companyname }} {{var order.getShippingAddress.format('html')}} 

Если ваше фирменное имя будет сохранено как часть информации о клиенте, оно будет отображаться в вашем электронном письме заказа в поле «Адрес доставки» прямо на старте.

Вы можете сделать то же самое для счетов-фактур и отправлений.

Надеюсь, это поможет кому-то !!! 🙂