{% extends 'base.html.twig' %} {% block title %}Commande - Livraison - {{ parent() }}{% endblock %} {% block stylesheets %} {{ parent() }} {% endblock %} {% block body %}
1. Livraison
2. Paiement
3. Confirmation
{{ form_start(form, {'attr': {'id': 'checkout-form', 'novalidate': 'novalidate'}}) }}
Adresse de facturation
{{ form_widget(form.billingFirstName, {'attr': {'class': 'form-control', 'placeholder': 'Prénom'}}) }} {{ form_label(form.billingFirstName) }} {{ form_errors(form.billingFirstName) }}
{{ form_widget(form.billingLastName, {'attr': {'class': 'form-control', 'placeholder': 'Nom'}}) }} {{ form_label(form.billingLastName) }} {{ form_errors(form.billingLastName) }}
{{ form_widget(form.billingEmail, {'attr': {'class': 'form-control', 'placeholder': 'Email', 'type': 'email'}}) }} {{ form_label(form.billingEmail) }} {{ form_errors(form.billingEmail) }}
{{ form_widget(form.billingPhone, {'attr': {'class': 'form-control', 'placeholder': 'Téléphone'}}) }} {{ form_label(form.billingPhone) }} {{ form_errors(form.billingPhone) }}
{{ form_widget(form.billingAddress, {'attr': {'class': 'form-control', 'placeholder': 'Adresse complète'}}) }} {{ form_label(form.billingAddress) }} {{ form_errors(form.billingAddress) }}
{{ form_widget(form.billingCity, {'attr': {'class': 'form-control', 'placeholder': 'Ville'}}) }} {{ form_label(form.billingCity) }} {{ form_errors(form.billingCity) }}
{{ form_widget(form.billingZipCode, {'attr': {'class': 'form-control', 'placeholder': 'Code postal'}}) }} {{ form_label(form.billingZipCode) }} {{ form_errors(form.billingZipCode) }}
{{ form_widget(form.billingCountry, {'attr': {'class': 'form-select'}}) }} {{ form_label(form.billingCountry) }} {{ form_errors(form.billingCountry) }}
Adresse de livraison
{{ form_widget(form.sameAddress, {'attr': {'class': 'form-check-input', 'id': 'same-address-checkbox'}}) }} {{ form_label(form.sameAddress, null, {'label_attr': {'class': 'form-check-label', 'for': 'same-address-checkbox'}}) }}
{{ form_widget(form.shippingFirstName, {'attr': {'class': 'form-control', 'placeholder': 'Prénom'}}) }} {{ form_label(form.shippingFirstName) }} {{ form_errors(form.shippingFirstName) }}
{{ form_widget(form.shippingLastName, {'attr': {'class': 'form-control', 'placeholder': 'Nom'}}) }} {{ form_label(form.shippingLastName) }} {{ form_errors(form.shippingLastName) }}
{{ form_widget(form.shippingAddress, {'attr': {'class': 'form-control', 'placeholder': 'Adresse complète'}}) }} {{ form_label(form.shippingAddress) }} {{ form_errors(form.shippingAddress) }}
{{ form_widget(form.shippingCity, {'attr': {'class': 'form-control', 'placeholder': 'Ville'}}) }} {{ form_label(form.shippingCity) }} {{ form_errors(form.shippingCity) }}
{{ form_widget(form.shippingZipCode, {'attr': {'class': 'form-control', 'placeholder': 'Code postal'}}) }} {{ form_label(form.shippingZipCode) }} {{ form_errors(form.shippingZipCode) }}
{{ form_widget(form.shippingCountry, {'attr': {'class': 'form-select', 'id': 'shipping-country-select'}}) }} {{ form_label(form.shippingCountry) }} {{ form_errors(form.shippingCountry) }}
{% if form.notes is defined %}
Notes de commande (optionnel)
{{ form_widget(form.notes, {'attr': {'class': 'form-control', 'placeholder': 'Instructions spéciales pour la livraison...', 'rows': 3, 'style': 'height: 100px'}}) }} {{ form_label(form.notes) }} {{ form_errors(form.notes) }}
{% endif %}
Récapitulatif
{% for cartItem in cart.items %}
{{ cartItem.item.title }}
{{ cartItem.item.title|slice(0, 30) }}...
{{ cartItem.unitPrice|number_format(2, ',', ' ') }} €
{% endfor %}
Sous-total ({{ cart.items|length }} article{{ cart.items|length > 1 ? 's' : '' }}) {{ cart.subtotalAmount|number_format(2, ',', ' ') }} €
Frais de livraison À calculer

Total {{ cart.totalAmount|number_format(2, ',', ' ') }} €
Frais de livraison
Commande sécurisée
Livraison soignée
{{ form_end(form) }}
{% endblock %} {% block javascripts %} {{ parent() }} {% endblock %}