templates/front/machine/service.html.twig line 1

Open in your IDE?
  1. {% extends "front/_common/_base.html.twig" %}
  2. {% block linkcanonical %}
  3.     <link rel="canonical" href="{{  absolute_url( path(app.request.attributes.get('_route'),
  4.                        app.request.attributes.get('_route_params')) ) }}">
  5. {% endblock %}
  6. {% block cssadicional %}
  7.     <link rel="stylesheet" href="{{STATIC_URL}}js/owl-carousel/owl.carousel.css" />
  8.     {% if info.captchaShow %}
  9.     <script type="text/javascript">
  10.         var onloadCallback = function() {
  11.             grecaptcha.render('html_element', {
  12.             'sitekey' : '{{ info.captchaSite }}'
  13.             });
  14.         };
  15.     </script>
  16.     {% endif %}
  17. {% endblock %}
  18. {% block classbody %} sticky {% endblock %}
  19. {% block content %}
  20. <section class="b20">
  21.     <article class="b20_top">
  22.         <div class="wancho">
  23.             <div class="general_breadcrumbs">
  24.                 <ul>
  25.                     <li><a href="{{ path('home') }}">INICIO</a></li>
  26.                     <li><a href="{{ path('services') }}">SERVICIO</a></li>
  27.                     <li><a href="{{ path('service', {'slug' : detail.slug } ) }}" aria-selected="true">{{ detail.title|upper }}</a></li>
  28.                 </ul>
  29.             </div>
  30.             <div class="main_title_layout">
  31.                 {% if detail.mainPrefix  %}
  32.                 <h2>{{ detail.mainPrefix }}</h2>
  33.                 {% endif %}
  34.                 {% if detail.mainTitle %}
  35.                 <h1 class="general_title">{{ detail.mainTitle }}</h1>
  36.                 {% endif %}
  37.             </div>
  38.         </div>
  39.     </article>
  40.     <article class="b20_ctn">
  41.         <div class="share_wrapper">
  42.             <ul>
  43.                 <li><a href="" class="icon-facebook facebook-share-fixed"></a></li>
  44.                 <li><a href="" class="icon-twitter twitter-share-fixed"></a></li>
  45.                 <li>
  46.                     <a
  47.                         href="https://api.whatsapp.com/send?text=FAW - Servicios {{ absolute_url(path('services')) }}"
  48.                         class="icon-whatsapp"
  49.                         target="_blank"
  50.                         data-action="share/whatsapp/share"
  51.                     ></a>
  52.                 </li>
  53.             </ul>
  54.         </div>
  55.         <div class="b20_fixed_ctn">
  56.             <div class="b20_form">
  57.                 {% if  detail.formText %}
  58.                 <span>{{ detail.formText }}</span>
  59.                 {% endif %}
  60.                 <div class="general_form">
  61.                       {{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
  62.                         {{ form_widget(form.utmSource, {'attr': {'class': 'form_utmsource'}}) }}
  63.                         {{ form_widget(form.utmMedium, {'attr': {'class': 'form_utmmedium'}}) }}
  64.                         {{ form_widget(form.utmCampaign, {'attr': {'class': 'form_utmcampaign'}}) }}
  65.                         {{ form_widget(form.utmContent, {'attr': {'class': 'form_utmcontent'}}) }}
  66.                         {{ form_widget(form.utmTerm, {'attr': {'class': 'form_utmterm'}}) }}
  67.                         {{ form_widget(form.gclid, {'attr': {'class': 'gclid'}}) }}
  68.                         <div class="fInput">
  69.                             <label for="nombre">Nombres</label>
  70.                              {{ form_widget(form.name, {'attr': {'class':'validate[required, maxSize[50]] validKeypress', 'data-maxChar':'50', 'data-expression':'text'}}) }}
  71.                         </div>
  72.                         <div class="fInput">
  73.                             <label for="apellidos">Apellidos</label>
  74.                              {{ form_widget(form.lastname, {'attr': {'class':'validate[required, maxSize[50]] validKeypress', 'data-maxChar':'50', 'data-expression':'text'}}) }}
  75.                         </div>
  76.                         <div class="fInput">
  77.                             <label for="telefono">Teléfono</label>
  78.                              {{ form_widget(form.phone, {'attr': {'class':'validate[required, maxSize[15]] validKeypress', 'type': 'tel', 'data-maxChar':'15', 'data-expression':'number'}}) }}
  79.                         </div>
  80.                         <div class="fInput">
  81.                             <label for="correo">Correo Electrónico*</label>
  82.                              {{ form_widget(form.email, {'attr': {'class':'validate[required, maxSize[100]] validKeypress', 'type': 'email', 'data-maxChar':'100', 'data-expression':'email'}}) }}
  83.                         </div>
  84.                         <div class="fInput fSelect">
  85.                              {{ form_widget(form.typeService, {'attr': {'class':'validate[required]'}}) }}
  86.                         </div>
  87.                         <div class="fInput fSelect">
  88.                              {{ form_widget(form.typeStore, {'attr': {'class':'validate[required]'}}) }}
  89.                         </div>
  90.                         <div class="fCheckBox">
  91.                             <span>*Campos obligatorios</span>
  92.                             <div class="formCheckbox">
  93.                                 <input type="checkbox" id="1" name="check_terminos" class="validate[required]" />
  94.                                 <label for="1"
  95.                                     >He leído y acepto las
  96.                                     <a href="{{ path('privacy') }}" target="_blank">Políticas de privacidad</a></label
  97.                                 >
  98.                             </div>
  99.                         </div>
  100.                         {% if info.captchaShow %}
  101.                         <div style="margin-bottom:10px; position: relative; width: max-content;">
  102.                             <div id="html_element"></div>
  103.                         </div>
  104.                         {% endif %}
  105.                         <div class="formButtonCtn">
  106.                             <button class="f-guardar-contacto-general hidden_button_send" id="btnService">Enviar</button>
  107.                             <button class="show_button_send">Enviando... <span class="icon-flecha-derecha"></span></button>
  108.                         </div>
  109.                       {{ form_end(form) }}
  110.                 </div>
  111.             </div>
  112.         </div>
  113.         <div class="wancho">
  114.             <div class="b20_info">
  115.                 {{ detail.mainDescrip|raw }}
  116.                 {#
  117.                 <div class="gParrafo">
  118.                     <p>
  119.                         En San Bartolomé estamos comprometidos con generar la mayor disponibilidad mecánica a un
  120.                         bajo costo operativo a nuestros clientes, para ello ponemos a disposición nuestros
  121.                         programas de mantenimiento preventivo diseñados para su operación en particular.
  122.                     </p>
  123.                 </div>
  124.                 <h3>¿Cuáles son los beneficios del programa?</h3>
  125.                 <ul>
  126.                     <li>
  127.                         Puede ingresar su vehículo en cualquiera de nuestros talleres autorizados a nivel
  128.                         nacional
  129.                     </li>
  130.                     <li>Recordatorio para programar su cita en cualquiera de nuestros talleres de la red.</li>
  131.                     <li>
  132.                         Evitar fallas catastróficas de componentes del tren motriz a través de alertas por los
  133.                         análisis de aceites realizados en cada servicio.
  134.                     </li>
  135.                     <li>Aumentar la vida útil del vehículo.</li>
  136.                     <li>Mejorar el valor de reventa de la unidad.</li>
  137.                     <li>Certificado de Mantenimientos realizados por San Bartolomé.</li>
  138.                     <li>Facilidades de pago a través de financiamiento directo</li>
  139.                 </ul>
  140.                 #}
  141.             </div>
  142.             {% if detail.aboutShow %}
  143.             <div class="b20_list">
  144.                 <h4>{{ detail.aboutTitle }}</h4>
  145.                 <ul class="servicio_wrap">
  146.                     {% for item in detail.aboutItemsActive %}
  147.                     <li><img src="{{ asset(item.img|image_path) }}" alt="{{ item.img|image_alt }}" /></li>
  148.                     {% endfor %}
  149.                 </ul>
  150.             </div>
  151.             {% endif %}
  152.         </div>
  153.     </article>
  154.     {% if detail.promoShow %}
  155.     <div class="wancho">
  156.         <a href="{{ detail.promoUrl }}" target="{{ detail.promoTarget ? '_blank' : '_self' }}" class="promoBtn">
  157.             <picture>
  158.                 <source media="(max-width:650px)" srcset="{{ asset(detail.promoImgBg1|image_path) }}" />
  159.                 <img src="{{ asset(detail.promoImg|image_path) }}" alt="promocion" />
  160.             </picture>
  161.         </a>
  162.     </div>
  163.     {% endif %}
  164.     
  165. </section>
  166. {% endblock %}
  167. {% block jsfinal %}
  168. <script src="{{ STATIC_URL }}js/validationform/jquery.validationEngine.js"></script>
  169. <script src="{{STATIC_URL}}js/owl-carousel/owl.carousel.js"></script>
  170. {% include 'front/templates/captcha.html.twig' %}
  171. <script type="text/javascript">
  172.     WidthChange(768, () => {
  173.         document.querySelector('.b20_info').appendChild(document.querySelector('.b20_form'));
  174.     });
  175.     var cantItems = $('.servicio_wrap li').length;
  176.     if (cantItems > 1) {
  177.         $('.servicio_wrap').addClass('b20-carousel');
  178.         $('.servicio_wrap').addClass('owl-carousel');
  179.         $('.b20-carousel').owlCarousel({
  180.             loop: false,
  181.             margin: 0,
  182.             nav: true,
  183.             items: 1,
  184.             dots: false,
  185.         });
  186.     }
  187.     $('form').validationEngine('attach', {
  188.         promptPosition: 'bottomLeft',
  189.         autoHidePrompt: true,
  190.         autoPositionUpdate: false,
  191.         autoHideDelay: 3000,
  192.         addFailureCssClassToField: 'inputError',
  193.         binded: false,
  194.         scroll: false,
  195.         validateNonVisibleFields: true,
  196.         showOneMessage: false,
  197.     });
  198.     $(".b20_info p").wrap( '<div class="gParrafo"></div>');
  199.     $('#btnService').on('click', function(event) {
  200.         event.preventDefault();
  201.         let btn = $(this);
  202.         let form = btn.closest('form');
  203.         var valid = form.validationEngine('validate');
  204.         btn.prop('disabled', true);
  205.         if (valid && validarRecaptcha()) {
  206.             document.querySelector('.general_form').classList.add('submit_form')
  207.             form.submit();
  208.         } else {
  209.             btn.prop('disabled', false);
  210.             return false;
  211.         }
  212.     });
  213. </script>
  214. {% endblock %}