miniShop2 icon indicating copy to clipboard operation
miniShop2 copied to clipboard

Добавить в шаблон email писем - tpl.msEmail новые поля

Open Ruslan-Aleev opened this issue 4 years ago • 8 comments

Запрос функции

Резюме

Вывести возможные поля в шаблоне email-письма, типа данные пользователя, адрес, вариант доставки и вариант оплаты: $user[], $address[], $delivery[] и $payment[]

Зачем это нужно?

Из документации не совсем понятно, что эти массивы так же передаются в шаблоны email. А с их наличием будет проще понять, да и данные поля достаточно часто нужны по умолчанию.

~p.s. Кстати, почему нельзя указать свой чанк с шаблоном email-письма? Как-то странновато...~

Ruslan-Aleev avatar Oct 17 '19 17:10 Ruslan-Aleev

  1. у каждого статуса заказа можно указать email чанк, просто они все наследуют tpl.msEmail

А по поводу добавления массивов поддерживаю, да, часто используются, можно было бы для менеджера добавить данные по юзеру по умолчанию

webinmd avatar Oct 17 '19 18:10 webinmd

Про наследование я понимаю, но все-равно странновато, при обновлении email-шаблон затереть можно (чанк, конечно, при обновлении выбрать нужно, но все же), да и вроде для всего свои чанки указать можно, а тут - ~~нет~~ есть (нужно было доки внимательнее читать :) ).

Ruslan-Aleev avatar Oct 17 '19 19:10 Ruslan-Aleev

Про наследование я понимаю, но все-равно странновато, при обновлении email-шаблон затереть можно (чанк, конечно, при обновлении выбрать нужно, но все же), да и вроде для всего свои чанки указать можно, а тут - нет.

Можно указать и свои image

P.S. За вас всё сделал Василий

Вот мой пример с одного проекта

{extends 'tpl.msEmail'}

{block 'title'}
{'ms2_email_subject_new_manager' | lexicon : $order}
{/block}

{block 'products'}
{parent}
<div style="padding: 0 10px">
    <h2>Контактные данные</h2>
    <p>Имя:     <b>{$address.receiver}</b></p>
    <p>Телефон: <b>{$address.phone}</b></p>
    <p>e-mail:  <b>{$user.email}</b></p>
    <p>Комментарий: <b>{$address.comment}</b></p>

    <h2>Адрес доставки</h2>
    <p>Индекс:     <b>{$address.index}</b></p>
    <p>Регион: <b>{$address.region}</b></p>
    <p>Город:  <b>{$address.city}</b></p>
    <p>Улица: <b>{$address.street}</b></p>
    <p>Дом: <b>{$address.building}</b></p>
    <p>Корпус: <b>{$address.properties.extfld_corpus}</b></p>
    <p>Строение: <b>{$address.properties.extfld_stroenie}</b></p>
    <p>Квартира: <b>{$address.room}</b></p>

    <p>Оплата: <b>{$payment.name}</b></p>
    <p><b>{$order.comment}</b></p>
    <p><b>{$delivery.price}</b></p>
    {*if $payment_link?}
    <p style="margin-left:20px;{$style.p}">
        {'ms2_payment_link' | lexicon : ['link' => $payment_link]}
    </p>
    {/if*}
</div>
{/block}

CrazyBoy49z avatar Nov 12 '19 20:11 CrazyBoy49z

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

Вот так выглядит наши формы по умолчанию у клиентов на сопровождении.

изображение

С мобильного телефона так же все смориться прекрасно.

изображение

OlegShchavelev avatar Feb 06 '20 21:02 OlegShchavelev

@DetaliDigital Про дизайн стоит создать отдельный issue.

Ruslan-Aleev avatar Feb 06 '20 23:02 Ruslan-Aleev

@Ruslan-Aleev это замечательно. Я подготовлю новое issue с данным предложением.

Давай по твоему issue составим чек-лист, потому что я читаю и суть не могу понять.

  1. Тебе не понятно как организован массив и каким образом можно пользоваться шаблонными переменными.
  2. Не понятно как выбрать шаблон письма, но тут тебе @CrazyBoy49z разъяснил как это работает и вопрос снимается?

Если еще какие-то вопросы, которые убежали от меня?

OlegShchavelev avatar Feb 08 '20 08:02 OlegShchavelev

@DetaliDigital Про дизайн стоит создать отдельный issue.

https://ui8.net/vladimir-kudinov/products/mailto-email-templates

Для примера

Ibochkarev avatar May 11 '20 18:05 Ibochkarev

Дизайном и версткой займусь я.

Ibochkarev avatar Jun 10 '20 03:06 Ibochkarev