Получить FirstName в электронной почте счета в Magento
Мне нужно использовать приветствие как "Hello customer_firstname" в электронных письмах счета.
В файле шаблона электронной почты Invoice invoice_new.html записана следующая строка, однако она показывает полное имя клиента.
Hello, {{htmlescape var=$order.getCustomerFirstname()}
1 ответ
Решение
Я нашел решение, в котором немного изменил класс Mage_Sales_Model_Order и добавил новый метод с именем "getCustomerOnlyFirstName", как показано ниже:
Класс "Mage_Sales_Model_Order" можно найти в пути app \ code \ core \ Mage \ Sales \ Model \ Order.php.
public function getCustomerOnlyFirstName()
{
$name = trim($this->getCustomerName());
$pos = strpos($name," ");
if($pos !== false) /// FirstName can be extracted
{
$name = trim(substr( $name, 0, $pos ));
}
return $name;
}
А в шаблонах электронной почты (invoice_new.html и invoice_new_guest.html) мне пришлось написать следующие строки, чтобы добиться цели...
Hello, {{htmlescape var=$order.getCustomerOnlyFirstName()}}
Это сработало отлично.
Пытаться
{{var order.getCustomerFirstname()}}
<h4>Ficou com dúvidas? {{var order.getCustomerFirstname()}}</h4>
Пытаться
<p class="greeting">{{trans "%name," name=$order.getBillingAddress().getFirstname()}}</p>