Настройка Вида Писем Клиенту

Добрый день!

Смотрю обучающие видеоуроки, о том, как менять вид письма.

При попытки изменить что либо в файле:

../design/backend/mail/templates/orders/invoice.tpl

в письме ничего не меняется.

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

Пользовательское письмо находится тут

/design/themes/TEMA/mail/templates/orders/invoice.tpl

Админское письмо тут

/design/backend/mail/templates/orders/invoice.tpl

И не забудьте кэш почистить

Пользовательское письмо находится тут

/design/themes/TEMA/mail/templates/orders/invoice.tpl

Админское письмо тут

/design/backend/mail/templates/orders/invoice.tpl

И не забудьте кэш почистить

Так в том-то и дело, что я меняю код в указанных вами местах, кеш чистится, а изменений нет

Так в том-то и дело, что я меняю код в указанных вами местах, кеш чистится, а изменений нет

Кэш чистите вручную или через админку?

Кэш чистите вручную или через админку?

Чистил через админку.

Но когда воспользовался тремя способами очистки, сработало и изменения были видны.

Теперь осталось понять, как менять блок с информацией: статус, дату, способ оплаты и способ доставки?

Ссылка на картинку: https://yadi.sk/i/7YBlaMPNxdyjB

Чистил через админку.

Но когда воспользовался тремя способами очистки, сработало и изменения были видны.

Теперь осталось понять, как менять блок с информацией: статус, дату, способ оплаты и способ доставки?

Ссылка на картинку: https://yadi.sk/i/7YBlaMPNxdyjB

Воспользуйтесь хуком

{hook name="orders:invoice_order_status_info"}

Чистил через админку.

Но когда воспользовался тремя способами очистки, сработало и изменения были видны.

Теперь осталось понять, как менять блок с информацией: статус, дату, способ оплаты и способ доставки?

Ссылка на картинку: https://yadi.sk/i/7YBlaMPNxdyjB

Какого рода изменения вы хотите внести?

Хотелось убрать дату заказа, сделать всё не заглавными буквами

Воспользуйтесь хуком

{hook name="orders:invoice_order_status_info"}

Я пока не так силён в работе с хуками, только подхожу к изучению этого. Хотелось понять, почему изменяя код, в правой части всё сработало, а в левой части меняя код - изменения не проходят.

От куда хуки берут информацию о том, в какой форме выводить информацию пользователю?

Какого рода изменения вы хотите внести?

Хотелось убрать заглавные буквы, как в правой части. Убрать дату. А так же, если товара нет в наличии, то сообщать об этом, что товар "под заказ"

Хотелось убрать дату заказа, сделать всё не заглавными буквами

Я пока не так силён в работе с хуками, только подхожу к изучению этого. Хотелось понять, почему изменяя код, в правой части всё сработало, а в левой части меняя код - изменения не проходят.

От куда хуки берут информацию о том, в какой форме выводить информацию пользователю?

Скорее всего, в левой части как-то модуль полностью перезаписывает содержимое хука. Больше узнать о хуках вы можете из документации:

http://www.cs-cart.ru/docs/4.3.x/developer/core/hooks/smarty.html

Хотелось убрать заглавные буквы


Уберите с нужных элементов

text-transform: uppercase


Убрать дату.


Удалите

                    
                        {__("date")}:
                        {$order_info.timestamp|date_format:"`$settings.Appearance.date_format`, `$settings.Appearance.time_format`"}
                    


А так же, если товара нет в наличии, то сообщать об этом, что товар "под заказ"

Информация по наличию в данных заказа не содержится, надо доп. запрос к БД делать

Хотелось убрать дату заказа, сделать всё не заглавными буквами

Чтобы убрать дату заказа, удалите или закомментируйте этот код:

    {__("date")}:
    {$order_info.timestamp|date_format:"`$settings.Appearance.date_format`, `$settings.Appearance.time_format`"}

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

text-transform: uppercase;

Я пока не так силён в работе с хуками, только подхожу к изучению этого. Хотелось понять, почему изменяя код, в правой части всё сработало, а в левой части меняя код - изменения не проходят.

От куда хуки берут информацию о том, в какой форме выводить информацию пользователю?

Хуки не отвечают за форму вывода информации. Хуки нужны для того, чтобы не изменять файлы ядра напрямую, иначе при обновлении все изменения потеряются.

В том-то и дело, что я правлю файл: design/backend/mail/templates/orders/invoice.tpl

затем почистил кэш, создал новый тестовый заказ и всё равно ничего не меняется.

Если я удаляю полностью код:

{hook name="orders:invoice_customer_info"}
{if !$profile_fields}
{assign var="profile_fields" value='I'|fn_get_profile_fields}
{/if}
{if $profile_fields}
{if $profile_fields.C}
{assign var="profields_c" value=$profile_fields.C|fn_fields_from_multi_level:"field_name":"field_id"}
{/if}
{if $profile_fields.B}
{assign var="profields_b" value=$profile_fields.B|fn_fields_from_multi_level:"field_name":"field_id"}
{/if}
{if $profile_fields.S}
{assign var="profields_s" value=$profile_fields.S|fn_fields_from_multi_level:"field_name":"field_id"}
{/if}

{__("customer")}:

{if $profields_c.firstname}{$order_info.firstname} {/if}{if $profields_c.lastname}{$order_info.lastname}{/if}

{if $profields_c.email}

{$order_info.email}

{/if}
{if $profields_c.phone}

{__("phone")}: {$order_info.phone}

{/if}
{if $profields_c.fax && $order_info.fax}

{__("fax")}: {$order_info.fax}

{/if}
{if $profields_c.company && $order_info.company}

{__("company")}: {$order_info.company}

{/if}
{if $profields_c.url && $order_info.url}

{__("url")}: {$order_info.url}

{/if}
{include file="profiles/profiles_extra_fields.tpl" fields=$profile_fields.C}

{__("ship_to")}:

{if $order_info.s_firstname && $profields_s.s_firstname || $order_info.s_lastname && $profields_s.s_lastname}

{if $profields_s.s_firstname}{$order_info.s_firstname} {/if}{if $profields_s.s_lastname}{$order_info.s_lastname}{/if}
{/if}
{if $order_info.s_address && $profields_s.s_address || $order_info.s_address_2 && $profields_s.s_address_2}

{if $profields_s.s_address}{$order_info.s_address} {/if}{if $profields_s.s_address_2}
{$order_info.s_address_2}{/if}
{/if}
{if $order_info.s_city && $profields_s.s_city || $order_info.s_state_descr && $profields_s.s_state}

{if $profields_s.s_city}{$order_info.s_city}{if $profields_s.s_state},{/if} {/if}{if $profields_s.s_state}{$order_info.s_state_descr} {/if}
{/if}
{if $order_info.s_phone && $profields_s.s_phone}

{if $profields_s.s_phone}{$order_info.s_phone} {/if}
{/if}
{include file="profiles/profiles_extra_fields.tpl" fields=$profile_fields.S}
{/if}
{/hook}
тогда, логично исчезает весь блок с информацией о заказе.
Если же удаляю отдельные части, то изменения не применяются, даже если почистить после этого кэш и создать новый заказ:
<tr valign="top">
<td style="font-size: 12px; font-family: verdana, helvetica, arial, sans-serif; text-transform: uppercase; color: #000000; padding-right: 10px; white-space: nowrap;">{__("date")}:
<td style="font-size: 12px; font-family: Arial;">{$order_info.timestamp|date_format:"`$settings.Appearance.date_format`, `$settings.Appearance.time_format`"}

В том-то и дело, что я правлю файл: design/backend/mail/templates/orders/invoice.tpl

затем почистил кэш, создал новый тестовый заказ и всё равно ничего не меняется.

Если я удаляю полностью код:

{hook name="orders:invoice_customer_info"}
{if !$profile_fields}
{assign var="profile_fields" value='I'|fn_get_profile_fields}
{/if}
{if $profile_fields}
{if $profile_fields.C}
{assign var="profields_c" value=$profile_fields.C|fn_fields_from_multi_level:"field_name":"field_id"}
{/if}
{if $profile_fields.B}
{assign var="profields_b" value=$profile_fields.B|fn_fields_from_multi_level:"field_name":"field_id"}
{/if}
{if $profile_fields.S}
{assign var="profields_s" value=$profile_fields.S|fn_fields_from_multi_level:"field_name":"field_id"}
{/if}

{__("customer")}:

{if $profields_c.firstname}{$order_info.firstname} {/if}{if $profields_c.lastname}{$order_info.lastname}{/if}

{if $profields_c.email}

{$order_info.email}

{/if}
{if $profields_c.phone}

{__("phone")}: {$order_info.phone}

{/if}
{if $profields_c.fax && $order_info.fax}

{__("fax")}: {$order_info.fax}

{/if}
{if $profields_c.company && $order_info.company}

{__("company")}: {$order_info.company}

{/if}
{if $profields_c.url && $order_info.url}

{__("url")}: {$order_info.url}

{/if}
{include file="profiles/profiles_extra_fields.tpl" fields=$profile_fields.C}

{__("ship_to")}:

{if $order_info.s_firstname && $profields_s.s_firstname || $order_info.s_lastname && $profields_s.s_lastname}

{if $profields_s.s_firstname}{$order_info.s_firstname} {/if}{if $profields_s.s_lastname}{$order_info.s_lastname}{/if}

{/if}
{if $order_info.s_address && $profields_s.s_address || $order_info.s_address_2 && $profields_s.s_address_2}

{if $profields_s.s_address}{$order_info.s_address} {/if}{if $profields_s.s_address_2}
{$order_info.s_address_2}{/if}

{/if}
{if $order_info.s_city && $profields_s.s_city || $order_info.s_state_descr && $profields_s.s_state}

{if $profields_s.s_city}{$order_info.s_city}{if $profields_s.s_state},{/if} {/if}{if $profields_s.s_state}{$order_info.s_state_descr} {/if}

{/if}
{if $order_info.s_phone && $profields_s.s_phone}

{if $profields_s.s_phone}{$order_info.s_phone} {/if}

{/if}
{include file="profiles/profiles_extra_fields.tpl" fields=$profile_fields.S}
{/if}
{/hook}
тогда, логично исчезает весь блок с информацией о заказе.
Если же удаляю отдельные части, то изменения не применяются, даже если почистить после этого кэш и создать новый заказ:
<tr valign="top">
<td style="font-size: 12px; font-family: verdana, helvetica, arial, sans-serif; text-transform: uppercase; color: #000000; padding-right: 10px; white-space: nowrap;">{__("date")}:
<td style="font-size: 12px; font-family: Arial;">{$order_info.timestamp|date_format:"`$settings.Appearance.date_format`, `$settings.Appearance.time_format`"}

Попробуйте так же поправить здесь: /design/themes/ВАША_TEMA/mail/templates/orders/invoice.tpl

тогда, логично исчезает весь блок с информацией о заказе.

Если же удаляю отдельные части, то изменения не применяются, даже если почистить после этого кэш и создать новый заказ:

Фантастика какая-то. Киньте в личку временный FTP доступ, посмотрим, с чем это связано

Причина оказалась в модуле eDost. Он перезаписывает данный хук. Вам нужно править следующие файлы

design/backend/mail/templates/addons/rus_edost/hooks/orders/invoice_order_status_info.override.tpl

design/themes/TEMA/mail/templates/addons/rus_edost/hooks/orders/invoice_order_status_info.override.tpl

Причина оказалась в модуле eDost. Он перезаписывает данный хук. Вам нужно править следующие файлы

design/backend/mail/templates/addons/rus_edost/hooks/orders/invoice_order_status_info.override.tpl

design/themes/TEMA/mail/templates/addons/rus_edost/hooks/orders/invoice_order_status_info.override.tpl

Огромное спасибо. Сейчас поправлю всё.

Причина оказалась в модуле eDost. Он перезаписывает данный хук. Вам нужно править следующие файлы

design/backend/mail/templates/addons/rus_edost/hooks/orders/invoice_order_status_info.override.tpl

design/themes/TEMA/mail/templates/addons/rus_edost/hooks/orders/invoice_order_status_info.override.tpl

Подскажите ещё один момент, пожалуйста, хотелось в блоке где контактные данные клиента, вместе с телефоном, указать ещё е-майл который ввёл клиент при заказе. Какой код вставить нужно? Я правильно понимаю, что уже надо править: design/backend/mail/templates/orders/invoice.tpl

Подскажите ещё один момент, пожалуйста, хотелось в блоке где контактные данные клиента, вместе с телефоном, указать ещё е-майл который ввёл клиент при заказе. Какой код вставить нужно? Я правильно понимаю, что уже надо править: design/backend/mail/templates/orders/invoice.tpl

Чтобы добавить e-mail в секцию "Плательщик", вставьте данный код:

{if $order_info.email}
    

{$order_info.email}

{/if}

перед

{include file="profiles/profiles_extra_fields.tpl" fields=$profile_fields.B}

Если нужно так же добавить e-mail в секцию "Доставить в", то вставьте тот же код перед

{include file="profiles/profiles_extra_fields.tpl" fields=$profile_fields.S}

Править нужно design/backend/mail/templates/orders/invoice.tpl и design/themes/ВАША_TEMA/mail/templates/orders/invoice.tpl

Чтобы добавить e-mail в секцию "Плательщик", вставьте данный код:

{if $order_info.email}
    

{$order_info.email}

{/if}

перед

{include file="profiles/profiles_extra_fields.tpl" fields=$profile_fields.B}

Если нужно так же добавить e-mail в секцию "Доставить в", то вставьте тот же код перед

{include file="profiles/profiles_extra_fields.tpl" fields=$profile_fields.S}

Править нужно design/backend/mail/templates/orders/invoice.tpl и design/themes/ВАША_TEMA/mail/templates/orders/invoice.tpl

Большое спасибо, всё отлично работает.