-== Переделка письма из TXT в HTML ==-

Статус
В этой теме нельзя размещать новые ответы.

Дмитрий Кесаев

aka Zlobniy Babko
Заблокирован
Регистрация
10 Май 2007
Сообщения
1.332
Реакции
1.237
  • Автор темы
  • Заблокирован
  • #1
Кто нибудь переделывал письма отправляемые клиенту из txt в html?
Дополнял, изменял, что получилось?
Может есть у кого готовый вариант.

На всяк случай, вот выдержка из фака с сайта разработчика:
Код:
Как изменить тип e-mail уведомлений с текстового на HTML?

Тип уведомлений, отправляемых интернет-магазином по электронной почте, определяется в языковом файле (например, russian.php), находящемся в папке languages/ в директории, где установлен Shop-Script. Для изменения типа уведомлений с текстового на HTML Вам нужно сделать следующее:

   1. Откройте языковой файл в текстовом редакторе (например, Notepad), найдите строку

      define('EMAIL_MESSAGE_PARAMETERS', 'Content-Type: text/plain; charset="'.DEFAULT_CHARSET.'"');

      и замените в ней параметр “text/plain” на “text/html”.

   2. Измените содержимое шаблонов писем, находящихся в папке templates/email с текстового на HTML для их корректного отображения в почтовом клиенте получателя. Для этого необходимо открыть каждый файл в текстовом редакторе и добавить в него необходимые тэги HTML. Вы также можете добавить в файлы ссылки на картинки, таблицы и т.д., обрамив их соответствующими тэгами HTML. Обратите внимание на то, что в названиях файлов менять расширение “.txt” не нужно.

Примечание: вышеупомянутые изменения необходимо внести во все файлы, содержащиеся в папке templates/email, поскольку текущая версия Shop-Script не поддерживает одновременное использование текстового и HTML форматов для разных сообщений – мы работаем над этой функцией и планируем включить её в будущие обновления продуктов.

********************************************************************************************** 

Как можно поменять текст писем-уведомлений, уходящих клиенту на почту после оформления заказа?

Для изменения текста email-уведомления, Вам необходимо изменить один или оба из нижеуказанных файлов:

    * Шаблон уведомительного письма, который состоит из констант Smarty (например, $smarty.const.EMAIL_SINCERELY) и переменных из базы данных Вашего магазина (например, $order_id).
      В магазинах Shop-Script FREE это письмо находится в папке templates/tmpl1/mail, в директории, где установлен Shop-Script.
      В магазинах Shop-Script PRO и Shop-Script PREMIUM уведомительное письмо (order_notification.txt) находится в папке templates/email, в директории, где установлен Shop-Script. 
      Текст констант Smarty, используемый в сообщении о заказе, находится в языковом файле (languages/russian.php, если интерфейс Вашего магазина установлен на русском языке). Вы можете добавить в шаблон новые константы Smarty и переменные базы данных, удалить существующие и изменить их месторасположение в тексте шаблона.

    * Языковой файл (languages/russian.php). В этом файле Вы можете изменить текст констант Smarty или добавить новые константы и соответствующий им текст. Например, Вы можете изменить текст константы $smarty.const.EMAIL_OUR_MANAGER_WILL_CONTACT_YOU с “Наш менеджер свяжется Вами в ближайшее время” на “Наш менеджер свяжется Вами как только Ваш заказ будет готов к отправке”.

Вообще ни разу не сталкивался с письмами. Возможно ли прикрутить стили какие-нить к письму?
Делать как:
1. Привязывать файл *.css и указать ссылку на его место?
или
2. Вкладывать код в html письмо?

Вот посмотрел на сайт Для просмотра ссылки Войди или Зарегистрируйся
и в нем понравилось письмо, т.е. в какой форме приходит.

email.jpg


Вот думаю, как прикрутить его к SS.
 
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=Win-1251\r\n";
$headers .= "From: мыло_тут\r\n";

$ms = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<META http-equiv="Content-Type" content="text/html; charset=Win-1251">'."
<html>
<head>
<title>wqeweqwe</title>
</head>
<body>text
</body>
</html>";

mail($toName." <".$toEmail.">", $subj, $ms, $headers);

можно что-то типа этого попробовать
 
  • Автор темы
  • Заблокирован
  • #3
Так то оно понятно. Но как этот код
PHP:
{$smarty.const.STRING_ORDER_ID}: {$orderID}
{$smarty.const.TABLE_CUSTOMER}: {$customer_firstname} {$customer_lastname}
{$smarty.const.CUSTOMER_EMAIL} {$customer_email}
{section name=i loop=$customer_add_fields}
{$customer_add_fields[i].reg_field_name}: {$customer_add_fields[i].reg_field_value}
{/section}
{$smarty.const.ADMIN_IP_ADDRESS}: {$customer_ip}
{$smarty.const.STRING_ORDER_TIME}: {$order_time}
{$smarty.const.STRING_CUSTOMER_COMMENTS}: {$customer_comments}
{$smarty.const.STRING_ORDER_CONTENT}:

{section name=i loop=$content}
{if $content[i].product_code}[{$content[i].product_code}] {/if}{$content[i].name} (x{$content[i].Quantity}): {$content[i].Price}
{/section}

{$smarty.const.ADMIN_DISCOUNT}: {$discount}
{$smarty.const.STRING_SHIPPING_TYPE}: {$shipping_type}
{$smarty.const.ADMIN_SHIPPING_COST}: {$shipping_cost}
{$smarty.const.STRING_RECEIVER}: {$shipping_firstname} {$shipping_lastname}
{$smarty.const.STRING_SHIPPING_ADDRESS}: {if $shipping_address ne ""}{$shipping_address},{/if} {if $shipping_city ne ""}{$shipping_city},{/if} {if $shipping_state ne ""}{$shipping_state}{/if} {if $shipping_zip ne ""}{$shipping_zip}{/if} {if $shipping_country ne ""}{$shipping_country}{/if}

{$smarty.const.STRING_PAYMENT_TYPE}: {$payment_type}
{$smarty.const.ADMIN_PAYER}: {$billing_firstname} {$billing_lastname}
{$smarty.const.ADMIN_SCORE_DELIVERY_ADDRESS}: {if $billing_address ne ""}{$billing_address},{/if} {if $billing_city ne ""}{$billing_city},{/if} {if $billing_state ne ""}{$billing_state}{/if} {if $billing_zip ne ""}{$billing_zip}{/if} {if $billing_country ne ""}{$billing_country}{/if}

{$smarty.const.STRING_TAX}: {$total_tax}
{$smarty.const.TABLE_TOTAL} {$order_amount}

Привязать к выше размещенному? Что-то тороможу я в посл. время. Может действительно элементарно. Но не допирает до меня. Увы...
 
Привязать к выше размещенному? Что-то тороможу я в посл. время. Может действительно элементарно. Но не допирает до меня. Увы...

по идее, это шаблон для письма, сделанный с помошью Smarty, с которым я лично, очень мало имел дел. В
XTemplate это решается так:

$xtpl = new XTemplate("registration.html");
$xtpl->parse("main");
$emessage = $xtpl->text("main");

$emessage содержит текст нашей html'ки, еге потом включаем в письмо...поищи, в смарти должно быть что-то подобное
 
Вот как я реализовал данную мульку в одном из своих магазинов:
Половину тегов смарти поменял.
В частности нужно ручками прописать название своего магазина и его адрес.
 

Вложения

  • nulled.rar
    6,5 KB · Просмотры: 113
  • Автор темы
  • Заблокирован
  • #6
Вот как я реализовал данную мульку в одном из своих магазинов:
Половину тегов смарти поменял.
В частности нужно ручками прописать название своего магазина и его адрес.

Флинт респект тебе. Все руки не доходили до этого. Маладца креведко!:ay:
 
  • Заблокирован
  • #7
Извиняйте за тупость. Там 6 текстовых файликов => че с ними делать можете росказать? Заранее спасибо.
ПС.Особенное спасибо Флинту.
 
Извиняйте за тупость. Там 6 текстовых файликов => че с ними делать можете росказать? Заранее спасибо.
ПС.Особенное спасибо Флинту.

это шаблоны писем, шаблоны должны лежать здесь:

..\templates\email\
 
  • Заблокирован
  • #9
Спасибо всем! Но...сделал все как надо...сделал заказ а письмо пришло в таком виде:
<table width="100%" border="0" cellpadding="2" cellspacing="1" style="font-size:12px; font-family:Verdana;">
<tr>
<td><strong>Номер заказа:</strong> 3</td>
</tr>
</table>
<br />
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#43A545" style="color:#FFFFFF; font-size:12px; font-family:Verdana; padding:2px 0px 2px 5px"><strong>Контактная информация:</strong></td>
....................ИТД


пс. Будбте добры подсказать какой их этих файликов отвечает за уведомления о заказе админу. А то хочу сделать перенапровление на телефон.


Почту юзаю через Mozilla Thunderbird может в этом дело?
 
  • Автор темы
  • Заблокирован
  • #10
Спасибо всем! Но...сделал все как надо...сделал заказ а письмо пришло в таком виде:
<table width="100%" border="0" cellpadding="2" cellspacing="1" style="font-size:12px; font-family:Verdana;">
<tr>
<td><strong>Номер заказа:</strong> 3</td>
</tr>
</table>
<br />
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#43A545" style="color:#FFFFFF; font-size:12px; font-family:Verdana; padding:2px 0px 2px 5px"><strong>Контактная информация:</strong></td>
....................ИТД


Почту юзаю через Mozilla Thunderbird может в этом дело?

Не в этом дело.

Пробовал менять строчку в \languages\russian.php

define('EMAIL_MESSAGE_PARAMETERS', 'Content-Type: text/plain; charset="'.DEFAULT_CHARSET.'"');

на

define('EMAIL_MESSAGE_PARAMETERS', 'Content-Type: text/html; charset="'.DEFAULT_CHARSET.'"');
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху