1. Як додати відображення сьогоднішньої дати?
{{ "now"|date("d.m.Y") }}
2. Як додати до змінної дати створення картки + n-ну кількість днів?
{{ model.created_at|date_modify("+180 day")|date("m.d.Y")}}
3. Як замінити відображення валюти змінної із UAH на грн?
У базових шаблонах змінні прописані таким чином:
{{ product_price|format_currency('UAH', locale='uk') }}
Щоб замінити відображення валюти на «грн», достатньо видалити |format_currency('UAH', locale='uk') і просто винести «грн» за фігурні дужки:
{{ 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. Як підтягнути картинку з товару в шаблон?
<img src="{{ product.picture }}" height="100">
6. Як вивести відображення суми за товари прописом?
{% set gtc = model.products_sum|round(0, 'floor') %}
{% set gtr = model.products_sum * 100 % 100 %}
<strong>{{ ((gtc|format_number(style="spellout", locale="uk"))|capitalize) }}
{% set currencySuffix = (gtc % 100 >= 11 and gtc % 100 <= 14) ? 'гривень' : (gtc % 10 == 1) ?
'гривня' : (gtc % 10 >= 2 and gtc % 10 <= 4) ? 'гривні' : 'гривень' %}
{{ currencySuffix }}
{{ gtr|format_number(locale="uk") }}
{% set centsSuffix = (gtr % 100 >= 11 and gtr % 100 <= 14) ? 'копійок' : (gtr % 10 == 1) ?
'копійка' : (gtr % 10 >= 2 and gtr % 10 <= 4) ? 'копійки' : 'копійок' %}
{{ centsSuffix }}</strong>
7. Як вивести інформацію про оплату з картки?
Щоб додати інформацію про оплату в документ, потрібно використовувати цикл 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 %}
8. Як вивести суму, що залишилася до оплати?
Вами вже сплачено: {% for payment in model.payments %}
{% if payment.status == "paid" %}{{ payment.amount|format_currency('UAH', locale='uk') }}, {% endif %}{% endfor %}
{% set paid_amount = 0 %}
{% for payment in model.payments %}
{% if payment.status == "paid" %}
{% set paid_amount = paid_amount + payment.amount %}
{% endif %}
{% endfor %}
Залишок до оплати: {{ ( model.products_sum - paid_amount)|format_currency('UAH', locale='uk') }}
9. Як вивести копійки для змінних ціни чи суми?
Ви можете до змінної додати форматування валюти:
{{ model.products_sum|format_currency('UAH', locale='uk') }}
Або форматування для виводу 2-х знаків після коми:
{{ model.products_sum|number_format(2, ',', '') }}
10. Як додати округлення цін?
Якщо потрібно математичне округлення до меншого чи більшого:
{{ model.products_sum|round }}
Якщо потрібно округлення завжди до більшого:
{{ model.products_sum|round(0, 'floor') }}
Якщо потрібно округлення завжди до меншого:
{{ model.products_sum|round(0, 'ceil') }}