Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


shadow091

Recommended Posts

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
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

А вот с

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

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

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

Надіслати
Поділитися на інших сайтах


  • 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
Надіслати
Поділитися на інших сайтах

Закомментировала в 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!, через вэб-интерфейс - отображается только корректный хтмл-вариант...

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

Надіслати
Поділитися на інших сайтах


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

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

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

Надіслати
Поділитися на інших сайтах

  • 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

Надіслати
Поділитися на інших сайтах

  • 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

Надіслати
Поділитися на інших сайтах


  • 1 month later...

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

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

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

 

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

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

 

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

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

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

Надіслати
Поділитися на інших сайтах


смотри логи.

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

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

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

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

Надіслати
Поділитися на інших сайтах


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

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

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.