Jump to content
Sign in to follow this  
SergDrakus

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
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]

Share this post


Link to post
Share on other sites

Добавьте переменную новую

Edited by Skunk
overquote deleted

Share this post


Link to post
Share on other sites

А готового модуля для правки через админку в CKEDITOR нет? Под 1.5 был такой...

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

В файле перевода  \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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.