В ходе проекта пришло следующее:
Клиент заполняет свое имя во время оформления заказа: ** Имя, Отчество, Фамилия **
В отправленном электронном письме с подтверждением содержится неполное имя в виде "** Имя Фамилия ** "в первом предложении подтверждения
Я посмотрел почтовые шаблоны, и функция order.getCustomerName (), похоже, не получает всю информацию.
Пожалуйста, сообщите;)
Это тоже понял.Для людей, имеющих ту же проблему, вот решение:
К вашему сведению: это для Magento 1.5.1.0
В транзакционной электронной почте функция order.getCustomerName () является неполной.Функция находится в классе Mage_Sales_Model_Order, который находится в:
app/code/core/Mage/Sales/Model/Order.php
Я переписал модель, расширяя Mage_Sales_Model_Order и переписав getCustomerName () следующим образом:
class [Namespace]_Sales_Model_Order extends Mage_Sales_Model_Order { //Mage_Sales_Model_Abstract
public function getCustomerName()
{
if ($this->getCustomerFirstname()) {
$customerName = $this->getCustomerFirstname() . ' ';
//check if middlename is present and contains value
//if so: append to $customerName
if($this->getCustomerMiddlename() && ($this->getCustomerMiddlename() != '')) {
$customerName .= $this->getCustomerMiddlename() . ' ';
}
$customerName .= $this->getCustomerLastname();
}
else {
$customerName = Mage::helper('sales')->__('Guest');
}
return $customerName;
}//end: getCustomerName()
}
Работает как шарм;)
Для получения дополнительной информации о перезаписи моделей / кода ядра:
Magento - переписывание модели, блока или помощника
Приветствия:)