Я создал атрибут «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')}}
Если ваше фирменное имя будет сохранено как часть информации о клиенте, оно будет отображаться в вашем электронном письме заказа в поле «Адрес доставки» прямо на старте.
Вы можете сделать то же самое для счетов-фактур и отправлений.
Надеюсь, это поможет кому-то !!! 🙂