{% embed 'app/area-brick-layout.html.twig' %} {% block content %} <!-- Form --> <section class="bg-blue-300 "> <div class="container grid grid-cols-12 py-20 md:gap-8"> <div class="z-0 col-span-12 overflow-hidden rounded-md rounded-b-none md:rounded-b-md md:mb-10 md:mt-10 md:col-span-6 md:col-start-1 md:row-start-1"> {{ pimcore_image('image', { thumbnail: 'contact-form', imgAttributes: {class: 'object-cover object-center w-full h-full'}, }) }} </div> <div class="z-10 col-span-12 p-10 bg-gray-200 rounded-md rounded-t-none md:rounded-t-md md:col-span-7 md:col-start-6 md:row-start-1"> <h2 class="mb-6 text-2xl font-bold text-blue"> {{ pimcore_input('title', { placeholder: 'Titel' }) }} </h2> <p class="text-lg"> <span>{{ pimcore_input('subtitle', { placeholder: 'Subtitel' }) }}</span> {% if editmode %} {{ pimcore_input('phone', { placeholder: 'Telefoonnummer' }) }} {% else %} <a href="tel:{{ pimcore_input('phone') | phone }}" class="font-bold text-blue hover:underline" > {{ pimcore_input('phone') }} </a> {% endif %} </p> <div x-data="{ error: null, sent: false, loading: false }"> <template x-if="error"> {# `error` get parsed to string; e.g. 'Error: Network error'. #} <div x-text="error" class="text-red"></div> </template> <template x-if="sent"> {# Also see _rental-form.html.twig::form.trans.thanks #} <div class="text-green">{{ 'Uw aanvraag is succesvol verstuurd. Wij nemen spoedig contact met u op!' | trans | escape }}</div> </template> <template x-if="!sent"> <form x-data="axios" @submit.prevent="function(event) { loading = true; requestUrl = '{{ requestUrl }}' zapierUrl = ''; if (requestUrl.includes('coolworld-rentals.com') ) { zapierUrl = 'https://hooks.zapier.com/hooks/catch/17870113/bzi5rzo/' } else { zapierUrl = 'https://hooks.zapier.com/hooks/catch/11516577/3u5tjvs/' } grecaptcha.ready(function() { grecaptcha .execute('{{ recaptcha_v3_site_key }}', { action: 'form_contact' }) .then(function(token) { fetch('/recaptcha/verify/', { method: 'POST', body: JSON.stringify({ token: token, action: 'form_contact', }), } ) .then((response) => response.json()) .then(function(json) { if (json.success !== true || json.passed !== true) { window.alert('{{ 'recaptcha_robot_message'|trans }}'); } else { axios.post( zapierUrl, new FormData(event.target), { headers: {'Content-Type': 'application/x-www-form-urlencoded'} } ).then(response => { sent = true; //TODO add zapier url for for https://ptchr.atlassian.net/browse/COOL-180 window.dataLayer = window.dataLayer || []; //TODO fill with correct data for https://ptchr.atlassian.net/browse/COOL-180 window.dataLayer.push({ 'event': 'contactForm', 'pimcore_id': response.config.data.get('Bezoeker ID'), // Make sure these are the same as the input names. 'telephonenumber': response.config.data.get('Telefoonnummer'), 'email': response.config.data.get('E-mailadres'), }) }).catch(e => { error = e; }) } }) .then(loading = false) }) }); }" > <div class="grid grid-cols-12 gap-4 my-4"> <div class="col-span-12"> <label for="message-cf" class="block font-bold mb-1.5">{{ 'Uw bericht' | trans }}*</label> <!--placeholder="{{ 'Uw vragen of opmerkingen' | trans }}"--> <textarea id="message-cf" name="Bericht" required class="w-full h-32 p-3 border border-gray-400 rounded-md placeholder:text-gray-600" ></textarea> </div> <div class="col-span-12 md:col-span-6"> <div class="flex items-center mb-1.5"> <label for="first_name-cf" class="block mr-2 font-bold">{{ 'Voornaam' | trans }}*</label> <!--<div class="block w-4 h-4 cursor-pointer"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#0072BB" fill-rule="evenodd" d="M8.036 5.235c.433 0 .747-.081.942-.244.196-.162.294-.418.294-.767 0-.358-.098-.618-.294-.78-.195-.163-.51-.244-.942-.244-.433 0-.747.081-.943.243-.195.163-.293.423-.293.78 0 .35.098.606.293.768.196.163.51.244.943.244Zm1.06 6.965V5.959H6.976V12.2h2.122ZM8 14.4A6.4 6.4 0 1 1 14.4 8 6.407 6.407 0 0 1 8 14.4ZM0 8a8 8 0 0 0 16 0 8.009 8.009 0 0 0-8-8 8 8 0 0 0-8 8Z"/> </svg> </div>--> </div> <!--placeholder="Morgan"--> <input type="text" id="first_name-cf" name="Voornaam" class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" required /> </div> <div class="col-span-12 md:col-span-6"> <div class="flex items-center mb-1.5"> <label for="last_name-cf" class="block mr-2 font-bold">{{ 'Achternaam' | trans }}*</label> <!--<div class="block w-4 h-4 cursor-pointer"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#0072BB" fill-rule="evenodd" d="M8.036 5.235c.433 0 .747-.081.942-.244.196-.162.294-.418.294-.767 0-.358-.098-.618-.294-.78-.195-.163-.51-.244-.942-.244-.433 0-.747.081-.943.243-.195.163-.293.423-.293.78 0 .35.098.606.293.768.196.163.51.244.943.244Zm1.06 6.965V5.959H6.976V12.2h2.122ZM8 14.4A6.4 6.4 0 1 1 14.4 8 6.407 6.407 0 0 1 8 14.4ZM0 8a8 8 0 0 0 16 0 8.009 8.009 0 0 0-8-8 8 8 0 0 0-8 8Z"/> </svg> </div>--> </div> <!--placeholder="Freeman"--> <input type="text" id="last_name-cf" name="Achternaam" class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" required /> </div> <div class="col-span-12 md:col-span-6"> <div class="flex items-center mb-1.5"> <label for="phone-cf" class="block mr-2 font-bold">{{ 'Telefoonnummer' | trans }}*</label> <!--<div class="block w-4 h-4 cursor-pointer"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#0072BB" fill-rule="evenodd" d="M8.036 5.235c.433 0 .747-.081.942-.244.196-.162.294-.418.294-.767 0-.358-.098-.618-.294-.78-.195-.163-.51-.244-.942-.244-.433 0-.747.081-.943.243-.195.163-.293.423-.293.78 0 .35.098.606.293.768.196.163.51.244.943.244Zm1.06 6.965V5.959H6.976V12.2h2.122ZM8 14.4A6.4 6.4 0 1 1 14.4 8 6.407 6.407 0 0 1 8 14.4ZM0 8a8 8 0 0 0 16 0 8.009 8.009 0 0 0-8-8 8 8 0 0 0-8 8Z"/> </svg> </div>--> </div> <!--placeholder="+31612345678"--> <input type="text" id="phone-cf" name="Telefoonnummer" required class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" /> </div> <div class="col-span-12 md:col-span-6"> <div class="flex items-center mb-1.5"> <label for="email-cf" class="block mr-2 font-bold">{{ 'E-mailadres' | trans }}*</label> <!--<div class="block w-4 h-4 cursor-pointer"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> <path fill="#0072BB" fill-rule="evenodd" d="M8.036 5.235c.433 0 .747-.081.942-.244.196-.162.294-.418.294-.767 0-.358-.098-.618-.294-.78-.195-.163-.51-.244-.942-.244-.433 0-.747.081-.943.243-.195.163-.293.423-.293.78 0 .35.098.606.293.768.196.163.51.244.943.244Zm1.06 6.965V5.959H6.976V12.2h2.122ZM8 14.4A6.4 6.4 0 1 1 14.4 8 6.407 6.407 0 0 1 8 14.4ZM0 8a8 8 0 0 0 16 0 8.009 8.009 0 0 0-8-8 8 8 0 0 0-8 8Z"/> </svg> </div>--> </div> <!--placeholder="info@mail.com"--> <input type="email" id="email-cf" name="E-mailadres" required class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" /> </div> <div class="col-span-12"> <div class="flex items-center mb-1.5"> <label for="company-cf" class="block mr-2 font-bold">{{ 'Bedrijf' | trans }}*</label> </div> <input type="text" id="company-cf" name="Bedrijf" required class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" /> </div> <div class="col-span-12 md:col-span-6"> <div class="flex items-center mb-1.5"> <label for="address-cf" class="block mr-2 font-bold">{{ 'Adres' | trans }}*</label> </div> <input type="text" id="address-cf" name="Adres" required class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" /> </div> <div class="col-span-12 md:col-span-6"> <div class="flex items-center mb-1.5"> <label for="zipcode-cf" class="block mr-2 font-bold">{{ 'Postcode' | trans }}*</label> </div> <input type="text" id="zipcode-cf" name="Postcode" required class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" /> </div> <div class="col-span-12 md:col-span-6"> <div class="flex items-center mb-1.5"> <label for="city-cf" class="block mr-2 font-bold">{{ 'Plaats' | trans }}*</label> </div> <input type="text" id="city-cf" name="Plaats" required class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" /> </div> <div class="col-span-12 md:col-span-6"> <div class="flex items-center mb-1.5"> <label for="country-cf" class="block mr-2 font-bold">{{ 'Land' | trans }}*</label> </div> <select id="country-cf" name="Land" required class="w-full p-3 border border-gray-400 rounded-md placeholder:text-gray-600" > {# Also @see _rental-form.html.twig #} {% for code, country in { NL: 'Nederland' | trans, BE: 'België' | trans, DE: 'Duitsland' | trans, FR: 'Frankrijk' | trans, CH: 'Zwitserland' | trans, AT: 'Oostenrijk' | trans, LU: 'Luxemburg' | trans, LI: 'Liechtenstein' | trans, DK: 'Denemarken' | trans, HU: 'Hongarije' | trans, GB: 'Verenigd Koninkrijk' | trans, SE: 'Zweden' | trans, NO: 'Noorwegen' | trans, PL: 'Polen' | trans, SK: 'Slowakije' | trans, CZ: 'Tsjechië' | trans, IT: 'Italië' | trans, ES: 'Spanje' | trans, OTHER: 'Overige' | trans, } | sort %} <option value="{{ code | upper }}" {% if (data.page.country|upper) == (code|upper) %} selected {% endif %}>{{ country }}</option> {% endfor %} </select> </div> <div class="col-span-12"> <small class="text-sm"> {{ pimcore_input('fine-print', { placeholder: 'Toestemmingstekst' }) }} </small> </div> <div class="col-span-12"> <p class="block font-bold mb-1.5">{{ 'Mogen we uw gegevens gebruiken?' | trans }}</p> <label class="text-sm text-gray-500 cursor-pointer"> <input type="checkbox" name="Marketing toestemming" class="mr-1"/> {% if not editmode %} <span>{{ pimcore_input('checkbox') }}</span> {% endif %} </label> {% if editmode %} {{ pimcore_input('checkbox', { placeholder: 'Checkbox tekst' }) }} {% endif %} </div> <div class="col-span-12"> <input type="hidden" name="Taal" value="{{ data.page.lang | escape }}"> <input type="hidden" name="Paginanaam" value="{{ data.page.title | escape }}"> <input type="hidden" name="URL" value="{{ data.request.url | raw }}"> <input type="hidden" name="Bezoeker ID" value="{{ (data.visitorId ?? (visitorId ?? null)) | escape }}"> <input type="hidden" name="gclid" id="gclid" value="{{ (data.gclid ?? (gclid ?? null)) | escape }}"> <input type="hidden" name="msclkid" id="msclkid" value="{{ (data.msclkid ?? (msclkid ?? null)) | escape }}"> <input type="hidden" name="li_fat_id" id="li_fat_id" value="{{ (data.li_fat_id ?? (li_fat_id ?? null)) | escape }}"> <template x-if="error"> {# `error` get parsed to string; e.g. 'Error: Network error'. #} <div x-text="error" class="mt-6 text-red"></div> </template> <button type="submit" :disabled="loading" class="mt-6 button button__green disabled:opacity-50 disabled:cursor-not-allowed"> {{ 'Verzenden' | trans }} </button> </div> <script> document.addEventListener('readystatechange', function(event) { if (document.readyState === "complete" && document.getElementsByName("Bezoeker ID")) { if (localStorage.getItem('_ptg.user')) { document.getElementsByName("Bezoeker ID")[0].value = JSON.parse(localStorage.getItem('_ptg.user')).visitorId; } } }); </script> </div> </form> </template> </div> </div> </div> </section> {% endblock %}{% endembed %}