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

[Решено] Где редактируется письмо что приходит на почту?


shadow091
 Share

Recommended Posts

Подскажите, где можно редактировать шаблон письма что приходит на почту человека, который сделал заказа на сайте?

Link to comment
Share on other sites


/catalog/language/russian/mail/order_confirm.php - перевод информации

А сам вывод информации где-то в контроллерах (поищите на форуме)

  • +1 1
Link to comment
Share on other sites


shadow091, контроллеры не в админке.

это файлы.

но вам нужен не контроллер, а модель.

если точнее, то вам нужна функция

public function confirm($order_id, $order_status_id, $comment = '') {
из файла

catalog/model/checkout/order.php

формирующая данные, используемые в шаблоне, и сам шаблон

catalog/view/theme/ВАША_ТЕМА/template/mail/order_confirm.tpl
  • +1 1
Link to comment
Share on other sites

А возможно сделать письмо-уведомление о заказе клиенту только в хтмл виде, а не как по умолчанию - и в хтмл и в txt?

Вроде распостраненные майл клиенты в вэб-интерфейсе нормально отображают хтмл вид (Бат - тем более, насчет Оутлука правда не в курсе, но подозреваю, что тож. должно быть нормально), тогда спршивается зачем нужен вариант в txt?

Пробовала изменять соответствующие файлы:

catalog/view/theme/ВАША_ТЕМА/template/mail/order_confirm.tpl
- С ним всё вроде понятно.

+ языковой, естественно.

А вот с

catalog/model/checkout/order.php
- проблема. НЕ могу понять, что закомментить или корректно изменить для отсылки только в хтмл виде... :huh:

P.S. и еще момент: хотелось оставить IP адрес только в письме администратору магазина и убрать из представления клиенту.

Тоже не получилось - если убирала - то удалялось и там и там...

Link to comment
Share on other sites


  • 3 weeks later...

Alexa, ни на одном тестовом магазине не проверял.

Не забывайте про бэкап файлов.

А возможно сделать письмо-уведомление о заказе клиенту только в хтмл виде, а не как по умолчанию - и в хтмл и в txt?

catalog/model/checkout/order.php
в функции

public function confirm($order_id, $order_status_id, $comment = '') {
находите строку (примерно 359-ая)

$mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8'));

и просто комментируете

/*
			$mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8'));
			*/

P.S. и еще момент: хотелось оставить IP адрес только в письме администратору магазина и убрать из представления клиенту.

Тоже не получилось - если убирала - то удалялось и там и там...

step_#1: делаем из

catalog/view/theme/ВАША_ТЕМА/template/mail/order_confirm.tpl
два новых шаблона

catalog/view/theme/ВАША_ТЕМА/template/mail/order_confirm_admin.tpl
catalog/view/theme/ВАША_ТЕМА/template/mail/order_confirm_customer.tpl
в клиентском шаблоне

catalog/view/theme/ВАША_ТЕМА/template/mail/order_confirm_customer.tpl
убираем

<?php echo $text_ip; ?> <strong><?php echo $customer_ip; ?></strong>

step_#2: в контроллере

catalog/model/checkout/order.php
все в той же функции

public function confirm($order_id, $order_status_id, $comment = '') {
меняете

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order_confirm.tpl')) {
				$html = $template->fetch($this->config->get('config_template') . '/template/mail/order_confirm.tpl');
			} else {
				$html = $template->fetch('default/template/mail/order_confirm.tpl');
			}
на

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order_confirm_customer.tpl')) {
				$html = $template->fetch($this->config->get('config_template') . '/template/mail/order_confirm_customer.tpl');
			} else {
				$html = $template->fetch('default/template/mail/order_confirm_customer.tpl');
			}

step_#3: затем, после (примерно 363-я строка)

if ($this->config->get('config_alert_mail')) {
добавляете

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order_confirm_admin.tpl')) {
				$html = $template->fetch($this->config->get('config_template') . '/template/mail/order_confirm_admin.tpl');
			} else {
				$html = $template->fetch('default/template/mail/order_confirm_admin.tpl');
			}
  • +1 1
Link to comment
Share on other sites

Закомментировала в catalog/model/checkout/order.php

//$mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8'));
В письме-уведомлении, помимо хтмл-варианта, пришло:

This is a HTML email and your email client software does not support HTML email!

P.S. Это наблюдается при получении мыла через The Bat!, через вэб-интерфейс - отображается только корректный хтмл-вариант...

непонятно...

Link to comment
Share on other sites


В письме-уведомлении, помимо хтмл-варианта, пришло:

This is a HTML email and your email client software does not support HTML email!
тут лучше скриншот добавить.

не совсем понятно что и как пришло, и где это предупреждение отображается.

Link to comment
Share on other sites

  • 2 years later...

Закомментировала в catalog/model/checkout/order.php

//$mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8'));
В письме-уведомлении, помимо хтмл-варианта, пришло:

This is a HTML email and your email client software does not support HTML email!
P.S. Это наблюдается при получении мыла через The Bat!, через вэб-интерфейс - отображается только корректный хтмл-вариант...

непонятно...

 

 

Чтобы убрать из сообщения эту фразу, нужно удалить ее с файла /system/library/mail.php

Link to comment
Share on other sites

  • 4 weeks later...

Здравствуйте, не подскажете где еще необходимо изменить данную переменную для отображения итоговой суммы в письме клиента?

 

вот тут, как я понял 

 

catalog/view/theme/моя тема/template/mail/order.tpl внес изменения. Вместо <?php echo $total['text']; ?> вставил  <?php echo $cart_total; ?>, так как у меня переменная  <?php echo $cart_total; ?> отвечает за вывод итоговой суммы

<tfoot>
      <?php foreach ($totals as $total) { ?>
      <tr>
        <td style="font-size: 12px;	border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;" colspan="4"><b><?php echo $total['title']; ?>:</b></td>
        <td style="font-size: 12px;	border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;"><?php echo $cart_total; ?></td>
      </tr>
      <?php } ?>
    </tfoot>

Где еще необходимо сделать изменения чтобы отображалась итоговая ссумма? скорее всего в контролере в какой нибудь...

 

версия opencart 1.5.4

Link to comment
Share on other sites


  • 1 month later...

Парни, выручайте! :)

Не пойму в чем дело. Покупателю приходит письмо, в нем все ок, только она проблема,

http://clip2net.com/s/61lOeb

 

т.е. не отображается какой товар, модель и т.д.

Почему такое может быть? В самом магазине при оформлении и в корзине все нормально отображается.

 

Админу кстати, тоже эти строки пустые приходят.

Такое чувство, что при формировании письма не подгружаются данные, но почему? И где копать?

Как вам такая проблемка?! :-D

Link to comment
Share on other sites


смотри логи.

Да, там как раз ошибки по этому поводу, но не пойму откуда их корни?

Вот что в логах http://clip2net.com/s/61Ez0x

Данный файл о котором идет речь, заменил на всякий случай еще раз на оригинальный, те же самые ошибки.

Т.е. они получается идут уже в этот файл откуда-то из другого места.

Link to comment
Share on other sites


Может кому-то пригодится. В общем проблема была в странице оформления заказа. Шаблон не дефолтный, и в нем почему-то был левый код, не хватало нескольких переменных.

Отловил переключившись на дефолтную тему, оказалось она работает, таким макаром стало 100% понятно, что проблема в шаблоне.

Далее заменил страницу оформления заказа на дефолтную и оформил заказ, все прошло нормально. Дальше допилил не дефолтную страницу и стало нормально.

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

×
×
  • 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.