templates/contact/default.html.twig line 1

Open in your IDE?
  1. {% extends "layout.html.twig" %}
  2. {% block content %}
  3. <!-- #main -->
  4. <main id="main" role="main">
  5.     <div class="apk-page-contact">
  6.         <div class="uk-container apk-container-1400">
  7.             {% if editmode %}
  8.                 <h2 class="uk-h2">
  9.                     {{ pimcore_textarea("infos-title",{
  10.                         "nl2br" : true,
  11.                         "placeholder" : 'Titre de la section infos'
  12.                     }) }}
  13.                 </h2>
  14.                 <p>
  15.                     {{ pimcore_textarea("infos-text",{
  16.                         "nl2br" : true,
  17.                         "placeholder" : 'Texte de la section infos'
  18.                     }) }}
  19.                 </p>   
  20.             {% else %}
  21.             <div class="apk-contact-container-infos uk-text-center">
  22.                 <h1 class="uk-h1 uk-margin-medium-bottom">{{ pimcore_textarea("infos-title",{"nl2br" : true}) }}</h1>
  23.                 <p class="uk-margin-medium-bottom">{{ pimcore_textarea("infos-text",{"nl2br" : true}) }}</p>
  24.             </div>
  25.             {% endif %}
  26.             <div class="apk-contact-container">
  27.                 <div class="uk-child-width-1-2@m" uk-grid>
  28.                 {# editmode pour le titre #}
  29.                 {% if editmode %}
  30.                 <div>
  31.                     <h2 class="uk-h2">
  32.                         {{ pimcore_textarea("content-title",{
  33.                             "nl2br" : true,
  34.                             "placeholder" : 'Titre de la section'
  35.                         }) }}
  36.                     </h2>
  37.                     <p>
  38.                     {{ pimcore_textarea("content-text",{
  39.                         "nl2br" : true,
  40.                         "placeholder" : 'Texte'
  41.                     }) }}
  42.                     </p>
  43.                 </div>
  44.                 {% else %}
  45.                 <div>
  46.                     <h2 class="uk-h2">{{ pimcore_textarea("content-title",{"nl2br" : true}) }}</h2>
  47.                     <p>{{ pimcore_textarea("content-text",{"nl2br" : true}) }}</p>
  48.                     {% if document.property('companyPhone') %}
  49.                     <div class="apk-phone">
  50.                         <a href="tel:{{ convert_phone_to_url(document.getProperty('companyPhone')) }}" target="_blank">
  51.                             <img uk-svg wdth="15" height="15" src="/static/img/pictos/tel.svg" alt="{{ "Tel"|trans }}">
  52.                             {{ document.property('companyPhone') }}
  53.                         </a>
  54.                     </div>
  55.                     {% endif %}
  56.                     {% if document.property('companyMail') %}
  57.                     <div class="apk-mail uk-margin-top">
  58.                         {{ email_obfuscator_svg(document.property('companyMail'))|raw }}
  59.                     </div>
  60.                     {% endif %}
  61.                     <div class="apk-adresse uk-margin-top">
  62.                         <a href="{{ document.getProperty('companyAdresseUrl') }}" target="_blank">
  63.                             <img uk-svg wdth="15" height="15" src="/static/img/pictos/position.svg" alt="{{ "Adresse"|trans }}">
  64.                             <span>{{ document.property('companyAdresse') }}</span>
  65.                         </a>
  66.                     </div>
  67.                 </div>
  68.                 {% endif %}
  69.                 
  70.                 <div>
  71.                     <div class="apk-contact-snippets-container">
  72.                         {% if formStatus == "required-empty" %}
  73.                         
  74.                         <div class="uk-alert-danger" uk-alert>
  75.                         <a class="uk-alert-close" uk-close></a>
  76.                         <p>{{ "Veuillez remplir tout les champs requis. (*)"|trans }}</p>
  77.                         </div>
  78.                         {% elseif formStatus == "invalid-email" %}
  79.                         <div class="uk-alert-danger" uk-alert>
  80.                         <a class="uk-alert-close" uk-close></a>
  81.                         <p>{{ "Votre adresse email est invalide. Merci de recommencer."|trans }}</p>
  82.                         </div>
  83.                         {% elseif formStatus == "robot" %}
  84.                         <div class="uk-alert-danger" uk-alert>
  85.                         <a class="uk-alert-close" uk-close></a>
  86.                         <p>{{ "Une erreur Recaptcha est survenue. Merci de recommencer."|trans }}</p>
  87.                         </div>
  88.                         {% endif %}
  89.                         {% if formStatus != "success" %}
  90.                         {{ form_start(form, {'action': '#contact', 'method': 'POST'}) }}
  91.                         <div uk-grid>
  92.                             <div class="uk-width-1-2@s uk-margin-small-top">
  93.                                 {{ form_row(form.lastname, { 'attr': {'class' : 'uk-input'}}) }}
  94.                             </div>
  95.                             <div class="uk-width-1-2@s uk-margin-small-top">
  96.                                 {{ form_row(form.firstname, { 'attr': {'class' : 'uk-input'}}) }}
  97.                             </div>
  98.                             <div class="uk-width-1-2@s uk-margin-top">
  99.                                 {{ form_row(form.email, { 'attr': {'class' : 'uk-input'}}) }}
  100.                             </div>
  101.                             <div class="uk-width-1-2@s uk-margin-top">
  102.                                 {{ form_row(form.phone, { 'attr': {'class' : 'uk-input'}}) }}
  103.                             </div>
  104.                             <div class="uk-width-1-1 uk-margin-top">
  105.                                 {{ form_row(form.message, { 'attr': {'class' : 'uk-textarea'}}) }}
  106.                             </div>
  107.                             <div class="uk-width-1-1 apk-conscent uk-margin-top">
  108.                                 <div class="uk-grid-small" uk-grid>
  109.                                     <div class="uk-width-auto">{{ form_widget(form.gdpr, { 'attr': {'class' : 'uk-checkbox'}}) }}</div>
  110.                                     <div class="uk-width-expand"><label id="contact_form_gdpr_label" for="contact_form_gdpr">{{ "contact.conscent"|trans }}</label></div>
  111.                                 </div>
  112.                             </div>
  113.                             {{ form_widget(form.recaptcha) }}
  114.                             <div class="uk-width-1-1 uk-margin-small-top">
  115.                                 <div class="uk-margin-top uk-text-right">
  116.                                     {{ form_widget(form.submit) }}
  117.                                 </div>
  118.                             </div>
  119.                         </div>
  120.                         {{ form_end(form) }}
  121.                         {% else %}
  122.                         <div class="uk-alert-success" uk-alert>
  123.                         <a class="uk-alert-close" uk-close></a>
  124.                         <p>{{ "Message envoyé. Nous vous recontacterons dans les plus brefs délais."|trans }}</p>
  125.                         </div>
  126.                         {% endif %}
  127.                     </div>
  128.                 </div>
  129.                 </div>
  130.             </div>
  131.         </div>
  132.     </div>
  133. </main>
  134. {% endblock %}
  135. {% block inlinescripts %}
  136.         
  137. {% set recaptchaKeyPublic = pimcore_website_config('recaptchaKeyPublic') %}
  138. <script src="https://www.google.com/recaptcha/api.js?onload=onloadRecaptchaCallback&render={{ recaptchaKeyPublic }}"></script>
  139. <script>
  140.     function onloadRecaptchaCallback(){
  141.       grecaptcha.ready(function() {
  142.         grecaptcha.execute('{{ recaptchaKeyPublic }}', {action: 'contact'}).then(function(token) {
  143.           //alert('recaptcha is loaded');
  144.           var recaptcha = document.getElementById('contact_form_recaptcha');
  145.           recaptcha.value = token;
  146.         });
  147.       });
  148.     }
  149. </script>
  150. {% endblock inlinescripts %}