Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Где находится шаблон писем о изменении заказа?


 Share

Recommended Posts

Пытаюсь создать своими силами красивую форму для уведомления покупателей о заказах. Редактирую файл Order и вроде бы все настроил, но уже как час не могу найти файл, который отвечает за шаблон уведомления о изменении статуса заказа. К примеру, а админ-панели я выбираю для конкретного заказа статус «Ожидания» и ставлю галку на «Уведомить покупателя». В итоге, на почту покупателю приходит письмо, внешний вид которого я и хочу настроить. Куда копать? ocStore 2.3.0.2.

Link to comment
Share on other sites


все шаблоны писем тут catalog\view\theme\default\template\mail

Там нет других файлов, которые отвечают за этот текст. В файле переводов указана переменная text_update_subject и text_update_order_status (и еще пара), но найти их я нигде не могу.

Link to comment
Share on other sites


Вот вроде бы код, который отвечает за эту функцию. находится в файле Order.php по пути catalog/model/checkout

if ($order_info['order_status_id'] && $order_status_id && $notify) {
$language = new Language($order_info['language_code']);
$language->load($order_info['language_code']);
$language->load('mail/order');


$subject = sprintf($language->get('text_update_subject'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'), $order_id);


$message  = $language->get('text_update_order') . ' ' . $order_id . "\n";
$message .= $language->get('text_update_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "\n\n";


$order_status_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "' AND language_id = '" . (int)$order_info['language_id'] . "'");


if ($order_status_query->num_rows) {
$message .= $language->get('text_update_order_status') . "\n\n";
$message .= $order_status_query->row['name'] . "\n\n";
}


if ($order_info['customer_id']) {
$message .= $language->get('text_update_link') . "\n";
$message .= $order_info['store_url'] . 'index.php?route=account/order/info&order_id=' . $order_id . "\n\n";
}


if ($comment) {
$message .= $language->get('text_update_comment') . "\n\n";
$message .= strip_tags($comment) . "\n\n";
}


$message .= $language->get('text_update_footer');
                if ($notify) {
                    $mail = new Mail();
                    $mail->protocol = $this->config->get('config_mail_protocol');
                    $mail->parameter = $this->config->get('config_mail_parameter');
                    $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
                    $mail->smtp_username = $this->config->get('config_mail_smtp_username');
                    $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
                    $mail->smtp_port = $this->config->get('config_mail_smtp_port');
                    $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');


                    $mail->setTo($order_info['email']);
                    $mail->setFrom($this->config->get('config_email'));
                    $mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
                    $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
                    $mail->setText($message);
                    $mail->send();
                }
}

Как его правильно редактировать? Допустим мне нужно просто подписать какой-то текст. Например – «Привет Мир» в заголовке письма.

Edited by Skunk
[spoiler]
Link to comment
Share on other sites


Там нет других файлов, которые отвечают за этот текст. В файле переводов указана переменная text_update_subject и text_update_order_status (и еще пара), но найти их я нигде не могу.

\catalog\language\ru-ru\mail\order.php

Link to comment
Share on other sites

  • 2 years later...

Позвольте поднять тему, тоже интересует этот вопрос. 

 

В файле перевода  \catalog\language\ru-ru\mail\order.php есть переменные, которые используются в письме об обновлении заказа (text_update_subject и т.д.)

 

В файлах шаблонов писем, расположенных catalog\view\theme\default\template\mail этих переменных нет

 

Подскажите пожалуйста, где расположен шаблон письма об изменении заказа? Есть желание немного изменить шаблон этого письма :) 

__________________________

 

прошу прощения, уже нашёл -  catalog\model\checkout\order.php

 

секция

if ($order_info['order_status_id'] && $order_status_id && $notify) {

 

Edited by shelline
Link to comment
Share on other sites


  • 7 months later...

Если вдруг кому понадобится, то в версии 3+ шаблон уведомления лежит catalog/view/theme/ТЕМА/template/mail/order_edit.twig, ну а файлы локализации и так понятно...

Link to comment
Share on other sites


  • 1 year later...

А как в письмо ORDER_EDIT вставить товары из заказа? Там только уведомление.

То есть в каком месте должны быть контроллеры вставлены? В верстке письма я разберусь.

Edited by teamcheg1
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.