На старой версии администратору приходило письмо с банковскими данными, которые указывал клиент при оформлении заказа. Сделано это было примерно так:
{if $order_info}
{assign var="order_header" value=__("invoice")}
{if $status_settings.appearance_type == "I" && $order_info.doc_ids[$status_settings.appearance_type]}
{assign var="doc_id_text" value="{__("invoice")} #`$order_info.doc_ids[$status_settings.appearance_type]`"}
{elseif $status_settings.appearance_type == "C" && $order_info.doc_ids[$status_settings.appearance_type]}
{assign var="doc_id_text" value="{__("credit_memo")} #`$order_info.doc_ids[$status_settings.appearance_type]`"}
{assign var="order_header" value=__("credit_memo")}
{elseif $status_settings.appearance_type == "O"}
{assign var="order_header" value=__("order_details")}
{/if}
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main-table" style="direction: {$language_direction}; height: 100%; background-color: #f4f6f8; font-size: 12px; font-family: verdana, helvetica, arial, sans-serif;">
<tr>
<td align="center" style="width: 100%; height: 100%;">
<table cellpadding="0" cellspacing="0" border="0" style="direction: {$language_direction}; width: 602px; table-layout: fixed; margin: 24px 0 24px 0;">
<tr>
<td style="background-color: #ffffff; border: 1px solid #e6e6e6; margin: 0px auto 0px auto; padding: 0px 44px 0px 46px; text-align: left;">
{if $order_info.payment_info.company_payment_details || $order_info.payment_info.inn_customer}
<p>• Реквизиты для выставления счета <br></p><p style="font-size: 10px; font-family: verdana, helvetica, arial, sans-serif;">
{if $order_info.payment_info.company_payment_details}{$order_info.payment_info.company_payment_details|nl2br nofilter}{/if}
{if $order_info.payment_info.organization_customer}{$order_info.payment_info.organization_customer|nl2br nofilter}<br>{/if}
{if $order_info.payment_info.inn_customer}{$order_info.payment_info.inn_customer|nl2br nofilter}<br>{/if}
{if $order_info.payment_info.address}{$order_info.payment_info.address|nl2br nofilter}<br>{/if}
{if $order_info.payment_info.zip_postal_code}{$order_info.payment_info.zip_postal_code|nl2br nofilter}<br>{/if}
{if $order_info.payment_info.phone}{$order_info.payment_info.phone|nl2br nofilter}<br>{/if}
{if $order_info.payment_info.bank_details}{$order_info.payment_info.bank_details|nl2br nofilter}{/if}
</p><p>•</p>
{/if}
А выглядело в письме так:
В новой версии, если использовать новый режим редактирования уведомлений, нужных полей у заказа не вижу. Переходить на старый способ редактирования шаблонов не очень хочется. Лежит то, что нужно, как я понимаю, в таблице cscart_order_data в записи с типом P в закодированном вид:
Подскажите, люди добрые, как это вытащить в переменные, чтоб вставить в письмо.
В уведомлении есть переменная order_info. Просто почему-то она не указана в списке переменных слева.
В настоящий момент при редактировании шаблона емейл-уведомления для покупателя или администратора слева отображаются не все переменные, которые можно использовать в шаблоне. Например, не указаны массивы order_info и order_status. Возможно, есть какие-то еще переменные, которыми можно было бы сделать уведомление для покупателя более информативным. Приходится искать эти переменные методом тыка.
Предложение: Слева отобразить все доступные переменные, которые можно использовать в шаблоне емейл-увед…
Вставьте в шаблон уведомления следующий код и посмотрите, есть ли нужные вам данные с реквизитами:
{% for key, value in order_info.payment_info %}
{{ key }}: {{ value }}
{% endfor %}
1 лайк
Спасибо, добрый человек! Есть кое-что В документ почему-то не подтягивается, а просто в уведомлении видно то, что нужно
А вложенных массивов там нет?
Если значение какого-то элемента массива тоже массив, то будет написано Array. Значения элементов такого вложенного массива тоже можно просмотреть циклом for
Так я знаю, просто нагляднее бывает сразу весь многомерный массив распотрошить.
В TWIG, который используется в уведомлениях, тоже можно использовать этот код, чтобы посмотреть содержимое массива:
{% for key, value in ВАШ_МАССИВ %}
{{ key }}: {{ value }}
{% endfor %}
Вставил код в шаблон в разных местах - не могу найти “новые переменные”, ни в тестовом письме, ни в боевом, ни в просмотре кода, сбрасывал даже кеш сайта…
Я что-то делаю не так?
SirDiscord:
Я что-то делаю не так?
Видимо, да. Покажите скриншот, куда вы вставили код.
Статус заказа: Обработка, уведомление отправляемое администратору (пользователю тоже пробовал)
В детали заказа, через Html редактор:
{% for key, value in order_info %}
{{ key }}: {{ value }}
{% endfor %}
А если так?
Тоже самое…( Что в теле, что там, ни в предпросмотре ни в письме нет
Вставил в уведомления администратору, статус заказа «Отправлен»
Получаю вот такое
У меня там некоторые блоки еще переделаны, собственно таблица вот:
<table>
<tr>
<td style="padding:0; font-weight:600;">
{{ __("organization_customer") }}
</td>
<td style="padding:0;">
{{ order_info.payment_info.organization_customer }}
</td>
</tr>
<tr>
<td style="padding:0; font-weight:600;">
{{ __("address") }}
</td>
<td style="padding:0;">
{{ order_info.payment_info.zip_postal_code }}, {{ order_info.payment_info.address }}
</td>
</tr>
<tr>
<td style="padding:0; font-weight:600;">
{{ __("phone") }}
</td>
<td style="padding:0;">
{{ order_info.payment_info.phone }}
</td>
</tr>
<tr>
<td style="padding:0; font-weight:600;">
{{ __("inn_customer") }}
</td>
<td style="padding:0;">
{{ order_info.payment_info.inn_customer }}
</td>
</tr>
<tr>
<td style="padding:0; font-weight:600;">
{{ __("bank_details") }}
</td>
<td style="padding:0;">
{{ order_info.payment_info.bank_details }}
</td>
</tr>
</table>
2 лайка
После нескольких сбросов кеша письмо с переменными пришло, но проблема теперь новая - туда не передаются данные плательщика…) Только основные данные из заказа
Вы что и откуда хотите передать? У меня была задача передать то, что заполняет юрик при выписке счета в заказе, это не данные заказчика, а то, что обведено красным
Вроде как тоже самое, при заказе галочка “я оформляю как юр лицо” и новые поля из стандартного модуля
А теперь сделайте первоначальный вариант с payment_info и очистите кэш (его лучше вообще отключить на тестовом сайте)
Пустота… может у меня другой массив используется тут?
Класс в редакторе кода называется так: block-header-icon bmicon-lite-checkout-customer-billing
А заполненные данные в профиле отображаются как “адрес плательщика”
Похоже, не то же самое
У меня эти поля заполняются только при выборе способа оплаты по счету. И это не адрес плательщика и все такое.