{# === Colonne gauche : résumé déclinaison === #} {% set hasPromo = declinaison.produit.promotion and date(declinaison.produit.promotion.startAt) <= date() and date(declinaison.produit.promotion.endAt) >= date() %} {% if hasPromo %} {% set discount = declinaison.produit.promotion.discountValue %} {% set price_ttc = declinaison.produit.priceTtc %} {% set price_remise = price_ttc - (declinaison.produit.promotion.discountType == 'percent' ? price_ttc * discount / 100 : discount) %} {% endif %} {% set totalStock = 0 %} {% set reservedStock = 0 %} {% for s in declinaison.stocks %} {% set totalStock = totalStock + (s.qtStock ?? 0) %} {% set reservedStock = reservedStock + (s.qtReserved ?? 0) %} {% endfor %}
Référence déclinaison

{{ declinaison.reference }}

Déclinaison {% if hasPromo %} En promotion {% endif %}
{{ declinaison.name }}
{% for gv in declinaison.groupDeclinationValues %} {{ gv.declination.name }}: {{ gv.value.name }} {% else %} Aucune valeur {% endfor %}
{% if hasPromo %}
{{ price_ttc|number_format(3,'.',',') }} TND {{ price_remise|number_format(3,'.',',') }} TND -{{ discount }}{% if declinaison.produit.promotion.discountType == 'percent' %}%{% else %} TND{% endif %}
{% else %}
{{ declinaison.produit.priceTtc|number_format(3,'.',',') }} TND
{% endif %}
Stock: {{ totalStock }} Réservé: {{ reservedStock }} Disponible: {{ totalStock - reservedStock }} Seuil: {{ declinaison.alertStockMin ?? 0 }}
{% set selected = declinaison.picture|filter(p => p.isSelected)|first %} {% if selected %}
Image principale
{% else %}
Aucune image principale
{% endif %}