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

Тема в разделе "Shop-script", создана пользователем Дмитрий Кесаев, 9 янв 2008.

Статус темы:
Закрыта.
  1. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.265
    Кто нибудь переделывал письма отправляемые клиенту из 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 письмо?

    Вот посмотрел на сайт http://www.nulled.ws/showthread.php?t=16852&page=2
    и в нем понравилось письмо, т.е. в какой форме приходит.

    [​IMG]

    Вот думаю, как прикрутить его к SS.
     
    OledJAH нравится это.
  2. rootkit

    rootkit Постоялец

    Регистр.:
    4 апр 2007
    Сообщения:
    143
    Симпатии:
    27
    $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);

    можно что-то типа этого попробовать
     
    OledJAH нравится это.
  3. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.265
    Так то оно понятно. Но как этот код
    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}
    Привязать к выше размещенному? Что-то тороможу я в посл. время. Может действительно элементарно. Но не допирает до меня. Увы...
     
    OledJAH нравится это.
  4. rootkit

    rootkit Постоялец

    Регистр.:
    4 апр 2007
    Сообщения:
    143
    Симпатии:
    27
    по идее, это шаблон для письма, сделанный с помошью Smarty, с которым я лично, очень мало имел дел. В
    XTemplate это решается так:

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

    $emessage содержит текст нашей html'ки, еге потом включаем в письмо...поищи, в смарти должно быть что-то подобное
     
    OledJAH и Zlobniy Babko нравится это.
  5. FLINT

    FLINT А пофлудить?о_О

    Регистр.:
    23 июл 2007
    Сообщения:
    429
    Симпатии:
    176
    Вот как я реализовал данную мульку в одном из своих магазинов:
    Половину тегов смарти поменял.
    В частности нужно ручками прописать название своего магазина и его адрес.
     

    Вложения:

    • nulled.rar
      Размер файла:
      6,5 КБ
      Просмотров:
      108
    mirus, mariohs, andre901 и 12 другим нравится это.
  6. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.265
    Флинт респект тебе. Все руки не доходили до этого. Маладца креведко!:ay:
     
  7. OledJAH

    OledJAH Читатель

    Заблокирован
    Регистр.:
    3 фев 2008
    Сообщения:
    124
    Симпатии:
    26
    Извиняйте за тупость. Там 6 текстовых файликов => че с ними делать можете росказать? Заранее спасибо.
    ПС.Особенное спасибо Флинту.
     
  8. playerr

    playerr Прохожие

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

    ..\templates\email\
     
  9. OledJAH

    OledJAH Читатель

    Заблокирован
    Регистр.:
    3 фев 2008
    Сообщения:
    124
    Симпатии:
    26
    Спасибо всем! Но...сделал все как надо...сделал заказ а письмо пришло в таком виде:
    <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. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.265
    Не в этом дело.

    Пробовал менять строчку в \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.'"');
     
    Shuriken555, icemedia и OledJAH нравится это.
Статус темы:
Закрыта.