Получить 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&uacute;vidas? {{var order.getCustomerFirstname()}}</h4>

Пытаться

<p class="greeting">{{trans "%name," name=$order.getBillingAddress().getFirstname()}}</p>
Другие вопросы по тегам