templates/catalog/snippets/form.html.twig line 1

Open in your IDE?
  1. <script src="https://www.google.com/recaptcha/api.js?render={{ recaptcha_v3_site_key }}"></script>
  2. {{ form_start(modalForms[article.id],{'attr': {'novalidate': 'novalidate','id': 'catalog-form-type', 'name': 'catalog_shipping_form','class': addresses and not lastCatalog ? 'd-none mt-3 mt-lg-3 mt-md-3' : 'mt-3 mt-lg-3 mt-md-3'}}) }}
  3.    <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].firstname) ? 'input-error' }}">
  4.         <div class="ml-3 ml-lg-3 ml-md-3">
  5.             {{ form_label(modalForms[article.id].firstname) }}
  6.         </div>
  7.         {{ form_widget(modalForms[article.id].firstname) }}
  8.         {{ form_errors(modalForms[article.id].firstname) }}
  9.     </div>
  10.     <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].lastname) ? 'input-error' }}">
  11.         <div class="ml-3 ml-lg-3 ml-md-3">
  12.             {{ form_label(modalForms[article.id].lastname) }}
  13.         </div>
  14.         {{ form_widget(modalForms[article.id].lastname) }}
  15.         {{ form_errors(modalForms[article.id].lastname) }}
  16.     </div>
  17.     <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].email) ? 'input-error' }}">
  18.         <div class="ml-3 ml-lg-3 ml-md-3">
  19.             {{ form_label(modalForms[article.id].email) }}
  20.         </div>
  21.         {{ form_widget(modalForms[article.id].email) }}
  22.         {{ form_errors(modalForms[article.id].email) }}
  23.     </div>
  24.     <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].company) ? 'input-error' }}">
  25.         <div class="ml-3 ml-lg-3 ml-md-3">
  26.             {{ form_label(modalForms[article.id].company) }}
  27.         </div>
  28.         {{ form_widget(modalForms[article.id].company) }}
  29.         {{ form_errors(modalForms[article.id].company) }}
  30.     </div>
  31.     <div class="row">
  32.         <div class="col-lg-6">
  33.             <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].phone) ? 'input-error' }}">
  34.                 <div class="ml-3 ml-lg-3 ml-md-3">
  35.                     {{ form_label(modalForms[article.id].phone) }}
  36.                 </div>
  37.                 {{ form_widget(modalForms[article.id].phone) }}
  38.                 {{ form_errors(modalForms[article.id].phone) }}
  39.             </div>
  40.         </div>
  41.         <div class="col-lg-6">
  42.             <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].fax) ? 'input-error' }}">
  43.                 <div class="ml-3 ml-lg-3 ml-md-3">
  44.                     {{ form_label(modalForms[article.id].fax) }}
  45.                 </div>
  46.                 {{ form_widget(modalForms[article.id].fax) }}
  47.                 {{ form_errors(modalForms[article.id].fax) }}
  48.             </div>
  49.         </div>
  50.     </div>
  51.     <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].streetLine01) ? 'input-error' }}">
  52.         <div class="ml-3 ml-lg-3 ml-md-3">
  53.             {{ form_label(modalForms[article.id].streetLine01) }}
  54.         </div>
  55.         {{ form_widget(modalForms[article.id].streetLine01) }}
  56.         <div class="mt-3 mt-lg-3 mt-md-3">
  57.             {{ form_widget(modalForms[article.id].streetLine02) }}
  58.         </div>
  59.         {{ form_errors(modalForms[article.id].streetLine01) }}
  60.         {{ form_errors(modalForms[article.id].streetLine02) }}
  61.     </div>
  62.     <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].city) ? 'input-error' }}">
  63.         <div class="ml-3 ml-lg-3 ml-md-3">
  64.             {{ form_label(modalForms[article.id].city) }}
  65.         </div>
  66.         {{ form_widget(modalForms[article.id].city) }}
  67.         {{ form_errors(modalForms[article.id].city) }}
  68.     </div>
  69.     <div class="row">
  70.         <div class="col-lg-6">
  71.             <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].state) ? 'input-error' }}">
  72.                 <div class="ml-3 ml-lg-3 ml-md-3">
  73.                     {{ form_label(modalForms[article.id].state) }}
  74.                 </div>
  75.                 {{ form_widget(modalForms[article.id].state) }}
  76.                 {{ form_errors(modalForms[article.id].state) }}
  77.             </div>
  78.         </div>
  79.         <div class="col-lg-6">
  80.             <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].zipCode) ? 'input-error' }}">
  81.                 <div class="ml-3 ml-lg-3 ml-md-3">
  82.                     {{ form_label(modalForms[article.id].zipCode) }}
  83.                 </div>
  84.                 {{ form_widget(modalForms[article.id].zipCode) }}
  85.                 {{ form_errors(modalForms[article.id].zipCode) }}
  86.             </div>
  87.         </div>
  88.     </div>
  89.     <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].country) ? 'input-error' }}">
  90.         <div class="ml-3 ml-lg-3 ml-md-3">
  91.             {{ form_label(modalForms[article.id].country) }}
  92.         </div>
  93.         {{ form_widget(modalForms[article.id].country, {id: 'country-' ~ article.id}) }}
  94.         {{ form_errors(modalForms[article.id].country) }}
  95.     </div>
  96.     <div class="{{ not addresses ? 'd-none' : 'd-flex flex-column' }} {{ form_errors(modalForms[article.id].addToAddressBook) ? 'input-error' }}">
  97.         <div class="position-relative checkbox-container mb-1 mb-lg-1 mb-md-1">
  98.             {{ form_widget(modalForms[article.id].addToAddressBook) }}
  99.             <span class="checkmark"></span>
  100.             <div class="ml-1 ml-lg-1 ml-md-1">
  101.                 {{ form_label(modalForms[article.id].addToAddressBook) }}
  102.             </div>
  103.         </div>
  104.         {{ form_errors(modalForms[article.id].addToAddressBook) }}
  105.     </div>
  106.     <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(modalForms[article.id].quantity) ? 'input-error' }}">
  107.         <div class="ml-3 ml-lg-3 ml-md-3">
  108.             {{ form_label(modalForms[article.id].quantity) }}
  109.         </div>
  110.         <div class="border border-pearl d-flex custom-input-number" style="width: 105px;">
  111.             <button type="button" disabled="disabled" class="custom-input-number-button custom-input-number-button--down"><span class="custom-input-number-arrow"></span></button>
  112.             {{ form_widget(modalForms[article.id].quantity) }}
  113.             <button type="button" class="custom-input-number-button custom-input-number-button--up"><span class="custom-input-number-arrow custom-input-number-arrow--up"></span></button>
  114.         </div>
  115.         {{ form_errors(modalForms[article.id].quantity) }}
  116.     </div>
  117.     <div class="d-flex mb-3 mb-lg-3 mb-md-3 justify-content-end">
  118.         <a class="btn btn-ghost mr-3 mr-lg-3 mr-md-3" onclick="javascript:location.reload();">
  119.             Cancel
  120.         </a>
  121.         {{ form_widget(modalForms[article.id].save) }}
  122.     </div>
  123.     {{ form_widget(modalForms[article.id].catalog, {value: article.id}) }}
  124. {{ form_end(modalForms[article.id]) }}
  125. <script>
  126.     $("#catalog-form-type button[type=submit]").on('click', function(e) {
  127.         e.preventDefault();
  128.         grecaptcha.ready(function() {
  129.             let action = document.getElementById('action').value;
  130.             grecaptcha.execute('{{ recaptcha_v3_site_key }}', { action: action })
  131.             .then(function(token) {
  132.                 // add token value to form
  133.                 document.getElementById('g-recaptcha-response').value = token;
  134.                 $('#catalog-form-type').submit();
  135.             });
  136.         });
  137.     });
  138. </script>