templates/pages/_includes/form/_form_contact_fields.html.twig line 1

Open in your IDE?
  1. {# Champs du formulaire contact (page form.html.twig + modale rappel). #}
  2. {# Variables : form (FormView), show_submit_button (bool, défaut true), callback_slot_after_consent (bool, défaut false — true en modale pour placer le créneau sous le long libellé RGPD). #}
  3. <div class="form-group">
  4. {{ form_label(form.civility) }}
  5. <div class="radio-group">
  6. <div class="radio-input">
  7. {% for option in form.civility %}
  8. <div class="form-check">
  9. <label class="form-check-label">
  10. {{ form_widget(option, {'attr': {'class': 'form-check-input'}}) }}
  11. <span>{{ option.vars.label }}</span>
  12. </label>
  13. </div>
  14. {% endfor %}
  15. </div>
  16. </div>
  17. {{ form_errors(form.civility) }}
  18. </div>
  19. <div class="row">
  20. <div class="form-group col-md-6 col-sm-12">
  21. {{ form_label(form.lastName) }}
  22. {{ form_widget(form.lastName, {'attr': {'class': 'form-control'}}) }}
  23. {{ form_errors(form.lastName) }}
  24. </div>
  25. <div class="form-group col-md-6 col-sm-12">
  26. {{ form_label(form.firstName) }}
  27. {{ form_widget(form.firstName, {'attr': {'class': 'form-control'}}) }}
  28. {{ form_errors(form.firstName) }}
  29. </div>
  30. </div>
  31. <div class="row">
  32. <div class="form-group col-md-6 col-sm-12">
  33. {{ form_label(form.email) }}
  34. {{ form_widget(form.email, {'attr': {'class': 'form-control'}}) }}
  35. {{ form_errors(form.email) }}
  36. </div>
  37. <div class="form-group col-md-6 col-sm-12">
  38. {{ form_label(form.phone) }}
  39. {{ form_widget(form.phone, {'attr': {'class': 'form-control'}}) }}
  40. {{ form_errors(form.phone) }}
  41. </div>
  42. </div>
  43. <div class="form-group">
  44. {{ form_label(form.subject) }}
  45. {{ form_widget(form.subject, {'attr': {'class': 'form-control form-select'}}) }}
  46. {{ form_errors(form.subject) }}
  47. </div>
  48. <div class="form-group">
  49. {{ form_label(form.message) }}
  50. {{ form_widget(form.message, {'attr': {'class': 'form-control form-textarea', 'rows': 5}}) }}
  51. {{ form_errors(form.message) }}
  52. </div>
  53. <div class="form-group">
  54. {{ form_label(form.wantsCallback) }}
  55. <div class="radio-group">
  56. <div class="radio-input">
  57. {% for option in form.wantsCallback %}
  58. <div class="form-check">
  59. <label class="form-check-label">
  60. {{ form_widget(option, {'attr': {'class': 'form-check-input', 'data-toggle-callback': 'true'}}) }}
  61. <span>{{ option.vars.label }}</span>
  62. </label>
  63. </div>
  64. {% endfor %}
  65. </div>
  66. </div>
  67. {{ form_errors(form.wantsCallback) }}
  68. </div>
  69. {% if not callback_slot_after_consent|default(false) %}
  70. <div class="form-group callback-fields-wrapper" style="display: none;">
  71. <label>{{ 'form.contact.callback_slot'|trans }}</label>
  72. <div class="form-group">
  73. {{ form_label(form.callbackDateTime) }}
  74. {{ form_widget(form.callbackDateTime) }}
  75. {{ form_errors(form.callbackDateTime) }}
  76. </div>
  77. </div>
  78. {% endif %}
  79. <div class="form-group checkbox-group">
  80. {{ form_widget(form.consent, {'attr': {'class': 'form-checkbox'}}) }}
  81. {{ form_label(form.consent) }}
  82. {{ form_errors(form.consent) }}
  83. </div>
  84. {% if callback_slot_after_consent|default(false) %}
  85. <div class="form-group callback-fields-wrapper" style="display: none;">
  86. <label>{{ 'form.contact.callback_slot'|trans }}</label>
  87. <div class="form-group">
  88. {{ form_label(form.callbackDateTime) }}
  89. {{ form_widget(form.callbackDateTime) }}
  90. {{ form_errors(form.callbackDateTime) }}
  91. </div>
  92. </div>
  93. {% endif %}
  94. {% if show_submit_button is not defined or show_submit_button %}
  95. <div class="form-actions">
  96. <button type="submit" class="btn style1 reverse_color">{{ 'website.ui.contact.send'|trans }}</button>
  97. </div>
  98. {% endif %}