Opencart: Более красивый вид для email-уведомления администратору о новом заказе (Изменения в шаблоне письма админу)

Нет картинки Вносим небольшие изменения в стандартный шаблон email письма-уведомления о новом заказе в магазине Opencart

В Opencart v1.5.x письмо-уведомление на email для администратора магазина о поступлениии нового заказа имеет скудный вид и в нём не хватает информации о покупателе.

Сделаем покрасивее и поудобнее.

Формирование и отсылка писем происходит в файле catalog/model/checkout/order.php

(а русские тексты фраз для писем - в папке catalog/language/russian/mail).

Итак, в файле catalog/model/checkout/order.php вносим небольшие изменения:

...
// Admin Alert Mail
if ($this->config->get('config_alert_mail')) {
$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id);

// Text 
//$text  = $language->get('text_new_received') . "\n\n";
//$text .= $language->get('text_new_order_id') . ' ' . $order_id . "\n";
//$text .= $language->get('text_new_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "\n";
//$text .= $language->get('text_new_order_status') . ' ' . $order_status . "\n\n";

// оформление письма админу 1 
$text  = $language->get('text_new_received') . ' #'.$order_id . ' ('.date($language->get('date_format_short'), strtotime($order_info['date_added'])).')' . "\n";
// $text .= $language->get('text_new_order_id') . ' ' . $order_id . "\n";
// $text .= $language->get('text_new_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "\n";
$text .= $language->get('text_new_order_status') . ' ' . strip_tags($order_status) . "\n\n";

if( !empty($order_info['payment_method']) ) $text .= 'payment method: ' . $order_info['payment_method'] . "\n";
// $text .= 'shipping method: ' . $order_info['shipping_method'] . "\n";
if( !empty($order_info['email']) )     $text .= 'email: ' . $order_info['email'] . "\n";
if( !empty($order_info['telephone']) ) $text .= 'telephone: ' . $order_info['telephone'] . ", ";
$text .= 'IP: http://geoiptool.com/en/?IP=' . $order_info['ip'] . "\n\n";
// оформление письма админу 1 

$text .= $language->get('text_new_products') . "\n";

foreach ($order_product_query->rows as $result) {
// оформление письма админу 2
//$text .= $result['quantity'] . 'x ' . $result['name'] . ' (' . $result['model'] . ') ' . html_entity_decode($this->currency->format($result['total'], $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8') . "\n";
$text .= '  ';
$text .= html_entity_decode($this->currency->format($result['total'], $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8');
$text .= ' = ';
$text .= $result['quantity'] . ' x ' . $result['name'] . ' (' . $result['model'] . ")\n";
// оформление письма админу 2 

$order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . $result['order_product_id'] . "'");

foreach ($order_option_query->rows as $option) {
$text .= chr(9) . '-' . $option['name'] . ' ' . utf8_truncate($option['value']) . "\n";
}
}

$text .= "\n";

$text .= $language->get('text_new_order_total') . "\n";

foreach ($order_total_query->rows as $result) {
$text .= '  '; // оформление письма админу 3
$text .= $result['title'] . ' ' . html_entity_decode($result['text'], ENT_NOQUOTES, 'UTF-8') . "\n";
} 

$text .= "\n";

if ($order_info['comment'] != '') {
...

 

 

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (2)     Подпишитесь на RSS комментариев к этой статье.

2 комментариев

#707
andrey говорит:
November 20, 2012 at 05:54 am
А подскажите пожалуйста, как изменить письмо админу о регистрации нового покупателя... чтобы там были дополнительные данные: пароль, логин, ФИО, ну и т.п. чет искал нифига не нашел блин... Или хотяб подскажите в каком файле искать???
#786
Максим говорит:
February 28, 2013 at 11:54 am
Добрый день, подскажите пожалуйста, такой вопрос. После того, как заменил стандартный код на этот, все хорошо, покупатель получает письмо, приятного вида, а вот администратор не получает. Как побороть? :)