ЧАВО по созданию документов для заказов

В этой статье собраны самые популярные вопросы, которые появляются у наших пользователей при редактировании кода для документов
Автор Владислав Пономарь
Обновлено 1 день назад
Важно! Если у вас возникают вопросы, как взаимодействовать с переменными при редактировании документов, вы можете также найти ответы на этом ресурсе.

1. Как добавить отображение сегодняшней даты?
{{ "now"|date("d.m.Y") }}

2. Как добавить к переменной дату оформления заказа или дата доставки/отправки + n-нное количество дней?

{{ model.created_at|date_modify("+180 day")|date("m.d.Y")}}

3. Как заменить отображение валюты переменной с UAH на грн?

В базовых шаблонах переменные прописаны следующим образом:

{{ product.product_price|format_currency('UAH', locale='uk') }}

Чтобы заменить отображение валюты на «грн», достаточно удалить |format_currency('UAH', locale='uk')  и просто вынести «грн» за фигурные скобки:

{{ product.product_price }} грн

4. Как изменить формат даты оформления заказа с 2022-12-22 12:12:12 на более привычный 22 декабря 2022 г.?

Задаем параметры для создания нужной переменной:

{% set mnths = ['','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'] %}

После чего в нужном месте прописываем саму переменную:

{{ model.created_at|date("j") }} {{ mnths[model.created_at|date("n")] }} {{ model.created_at|date("Y") }} г.

5. Как изменить формат даты доставки/отправки с 2022-12-22 на более привычный 22.12.2022

{{ model.shipping_date_actual|date("d.m.Y") }}

6. Как подтянуть картинку из фала в заказе?

Этот способ позволяет подтянуть только самый первый файл (картинку) из заказа:

<img src="{{ model.files }}" height="100">

7. Как добавить отображение общей стоимости скидок на товары?

Задаем параметры для создания нужной переменной:

{% set total_discount = 0 %}
{% for key, product in model.products %}
{% if product.product_discount > 0 %}
{% set total_discount = product.product_discount * product.product_quantity + total_discount %}
{% endif %}
{% endfor %}

После чего в нужном месте прописываем саму переменную:

{{(total_discount) |format_currency('UAH', locale='uk')}}

8. Как вывести отображение общей стоимости заказа прописью?

{% set gtc = model.grand_total|round(0, 'floor') %}
{% set gtr = model.grand_total * 100 % 100 %}
{{ (gtc|format_number(style="spellout", locale="uk"))|capitalize }}
{% if gtc % 10 == 1 and gtc % 100 != 11 %}
гривня
{% elseif (gtc % 10 == 2 or gtc % 10 == 3 or gtc % 10 == 4) and (gtc % 100 != 12 or gtc % 100 != 13 or gtc % 100 != 14) %}
гривні
{% else %}
гривень
{% endif %}
{{ gtr|format_number(style="spellout", locale="uk") }}
{% if gtc % 10 == 1 and gtc % 100 != 11 %}
копійка
{% elseif (gtc % 10 == 2 or gtc % 10 == 3 or gtc % 10 == 4) and (gtc % 100 != 12 or gtc % 100 != 13 or gtc % 100 != 14) %}
копійки
{% else %}
копійок
{% endif %}

9. Какую переменную добавить для отображения штрих-кода заказа?

 {{ model.barcode|raw }}

10. Как вывести информацию об оплатах в заказе в документ? 

Чтобы добавить информацию об оплатах в документ, нужно использовать цикл «for». Он позволяет получить список всех оплат, которые есть в заказе, и вывести данные нужных вам переменных.

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

{% for payment in model.payments %}
    {{ payment.payment_date }} - дата и время платежа
    {{ payment.type }} - тип оплаты
    {{ payment.status }} - статус оплаты
    {{ payment.amount }} - сумма оплаты
    {{ payment.description }} - описание
{% endfor %}

Пример вывода всех записей об оплате способом «Банковская карта» в заказе в статусе «Оплачено» с указанием только даты и суммы:

{% for payment in model.payments %}
    {% if payment.type == "Банковская карта" %}
        {% if payment.status == "paid" %}
            Дата и время оплаты: {{ payment.payment_date }}<br>
            Сумма оплаты: {{ payment.amount|format_currency('UAH', locale='uk') }}
        {% endif %}
    {% endif %}
{% endfor %}

Оцените эту статью