templates/front/trucks/truck.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('truck', {'slug': model.slug})) }}">
  4. {% endblock %}
  5. {% block cssadicional %}
  6. <link rel="stylesheet" href="{{ asset('assets/js/slick/slick.css') }}"/>
  7. {% endblock %}
  8. {% block classbody %}{% endblock %}
  9. {% block content %}
  10.     <div class="headerProject">
  11.         <div class="headerProjectWrapper wanchoPrimary">
  12.             <a class="headerProjectLogo">
  13.                 <img src="{{ asset(model.logo|image_path) }}" width="210" alt="{{ model.title }}">
  14.             </a>
  15.             <ul class="headerProjectWrapperNav">
  16.                 {% if model.detailShow %}
  17.                     <li><a class="headerProjectLink g-anclas" href="#Descripción">Descripción</a></li>
  18.                 {% endif %}
  19.                 {% if model.specificationsShow %}
  20.                     <li><a class="headerProjectLink g-anclas" href="#Atributos">Atributos</a></li>
  21.                 {% endif %}
  22.                 {% if model.galleryShow %}
  23.                     <li><a class="headerProjectLink g-anclas" href="#Galería">Galería</a></li>
  24.                 {% endif %}
  25.                 {% if model.versionsShow %}
  26.                     <li><a class="headerProjectLink g-anclas" href="#Especificiones">Especificaciones técnicas</a></li>
  27.                 {% endif %}
  28.             </ul>
  29.             <a href="#cotizar" class="buttonStandard gray g-anclas">
  30.                 <span>¡Cotiza ahora!</span>
  31.             </a>
  32.         </div>
  33.     </div>
  34.     <section class="b5 b5Detail scroll-wrapper">
  35.         <div class="b5Wrapper">
  36.             <picture class="b5BannerPicture">
  37.                 <source srcset="{{ asset(model.bannerImage|image_path) }}">
  38.                 <img class="b5BannerPictureImage" src="{{ asset(model.bannerImage|image_path) }}" width="1600" alt="{{ model.bannerImage|image_alt }}">
  39.             </picture>
  40.             {% if model.bannerText %}
  41.                 <div class="b5BannerText scroll-item">
  42.                     <h1>{{ model.bannerText }}</h1>
  43.                 </div>
  44.             {% endif %}
  45.         </div>
  46.     </section>
  47.     <section class="b6 b6Detail scroll-wrapper">
  48.         <div class="b6Title wanchoSecondary">
  49.             <ul class="b10LeftMigaPan scroll-item">
  50.                 <li><a href="{{ path('home') }}">Home</a></li>&nbsp;/ &nbsp;
  51.                 <li><a href="{{ path('trucks') }}">Camiones</a></li>&nbsp;/ &nbsp;
  52.                 <li class="active"><a href="{{ path('truck', {'slug': model.slug}) }}">{{ model.title }}</a></li>
  53.             </ul>
  54.         </div>
  55.         {% if model.detailShow %}
  56.             <div class="b6Wrapper wanchoSecondary blocks-ancla" id="Descripción">
  57.                 <div class="b6Item">
  58.                     <div class="b6ItemText scroll-item">
  59.                         {% if model.detailTitle %}
  60.                             <h3 class="titleStandard2">{{ model.detailTitle }}</h3>
  61.                         {% endif %}
  62.                         {% if model.detailText %}
  63.                             <div class="b6ItemTextParagraph paragraphText">
  64.                                 <p>{{ model.detailText|nl2br }}</p>
  65.                             </div>
  66.                         {% endif %}
  67.                     </div>
  68.                     <div class="b6ItemImage scroll-item">
  69.                         <picture class="b6BannerPicture">
  70.                             <img class="b6BannerPictureImage" src="{{ asset(model.detailImage|image_path) }}" width="714" alt="{{ model.detailImage|image_alt }}">
  71.                         </picture>
  72.                     </div>
  73.                 </div>
  74.             </div>
  75.         {% endif %}
  76.     </section>
  77.     {% if model.specificationsShow %}
  78.         <section class="b11 scroll-wrapper blocks-ancla" id="Atributos">
  79.             <div class="b11Wrapper wanchoSecondary">
  80.                 {% for item in model.specificationsItems %}
  81.                     <div class="b11Item scroll-item">
  82.                         <div class="b11ItemBox">
  83.                             <h3>{{ item.title }}</h3>
  84.                             <span>{{ item.value }}</span>
  85.                         </div>
  86.                     </div>
  87.                 {% endfor %}
  88.             </div>
  89.         </section>
  90.     {% endif %}
  91.     {% if model.attributesShow %}
  92.         <section class="b12 scroll-wrapper">
  93.             <div class="b12Wrapper wanchoSecondary scroll-item">
  94.                 <ul class="b12ContenTab">
  95.                     {% for item in model.attributesItems %}
  96.                         <li><a class="b12ContenTabLink" href="#{{ item.title|slug ~ '_' ~ loop.index }}">{{ item.title }}</a></li>
  97.                     {% endfor %}
  98.                 </ul>
  99.                 <div class="b12ContentBox">
  100.                     {% for item in model.attributesItems %}
  101.                         <div class="b12ItemTab" data-tab="{{ item.title|slug ~ '_' ~ loop.index }}">
  102.                             <div class="b6Item">
  103.                                 <div class="b6ItemText">
  104.                                     <h3 class="titleStandard2">{{ item.text1 }}</h3>
  105.                                     <div class="b6ItemTextParagraph paragraphText">
  106.                                         {{ item.text2|raw }}
  107.                                     </div>
  108.                                 </div>
  109.                                 <div class="b6ItemImage">
  110.                                     <picture class="b6BannerPicture">
  111.                                         <img class="b6BannerPictureImage" src="{{ asset(item.image|image_path) }}" width="568" alt="{{ item.image|image_alt }}">
  112.                                     </picture>
  113.                                 </div>
  114.                             </div>
  115.                         </div>
  116.                     {% endfor %}
  117.                 </div>
  118.             </div>
  119.         </section>
  120.     {% endif %}
  121.     {% if model.galleryShow %}
  122.         <section class="b13 blocks-ancla" id="Galería">
  123.             <div class="b13Wrapper">
  124.                 <div class="b13box_big">
  125.                     <div class="b13Swiper" data-initial="1">
  126.                         <div class="b13sliderImageBig">
  127.                             {% for item in model.galleryItems %}
  128.                                 <div class="b13Slide" data-slide="{{ loop.index }}">
  129.                                     <picture class="b13Picture">
  130.                                         <source srcset="{{ asset(item.image|image_path) }}">
  131.                                         <img class="b13PictureImage" src="{{ asset(item.image|image_path) }}" width="1000" alt="{{ item.image|image_alt }}">
  132.                                     </picture>
  133.                                 </div>
  134.                             {% endfor %}
  135.                         </div>
  136.                         <div class="b13Arrows">
  137.                             <div class="b13ArrowPrev arrowSwiper icon-chevron-left"></div>
  138.                             <div class="b13ArrowNext arrowSwiper icon-chevron-right"></div>
  139.                         </div>
  140.                     </div>
  141.                 </div>
  142.                 <div class="b13SwiperBottom">
  143.                     <div class="b13sliderThumbnails">
  144.                         {% for item in model.galleryItems %}
  145.                             <div class="b13SlideBottom" data-slide="{{ loop.index }}">
  146.                                 <picture class="b13PictureBottom">
  147.                                     <source srcset="{{ asset(item.image|image_path) }}">
  148.                                     <img class="b13PictureImage" src="{{ asset(item.image|image_path) }}" width="120" alt="{{ item.image|image_alt }}">
  149.                                 </picture>
  150.                             </div>
  151.                         {% endfor %}
  152.                     </div>
  153.                 </div>
  154.             </div>
  155.         </section>
  156.     {% endif %}
  157.     {% if model.versionsShow %}
  158.         <section class="b14 scroll-wrapper blocks-ancla" id="Especificiones">
  159.             <div class="b14Wrapper wanchoSecondary">
  160.                 {% if model.versionsTitle %}
  161.                     <div class="b14Title scroll-item">
  162.                         <h2 class="titleStandard">{{ model.versionsTitle }}</h2>
  163.                     </div>
  164.                 {% endif %}
  165.                 <div class="b14ContentItems">
  166.                     {% for item in model.versions %}
  167.                         <div class="b14Item scroll-item">
  168.                             <div class="b14ItemBox">
  169.                                 <picture class="b2SlidePicture">
  170.                                     <img class="b2SlidePictureImage" src="{{ asset(item.image|image_path) }}" width="235" alt="{{ item.image|image_alt }}">
  171.                                 </picture>
  172.                                 <h3 class="b2SlideTitle">{{ item.title }}</h3>
  173.                                 <div class="b14ItemDates">
  174.                                     {% for itemi in item.attributes %}
  175.                                         <ul>
  176.                                             <li><strong>{{ itemi.title }}</strong></li>
  177.                                             <li>{{ itemi.value }}</li>
  178.                                         </ul>
  179.                                     {% endfor %}
  180.                                 </div>
  181.                                 {% if item.dataSheet|image_path %}
  182.                                     <div class="b2SlideButtons">
  183.                                         <a href="{{ asset(item.dataSheet|image_path) }}" class="buttonStandard icon border">
  184.                                             <i class="icon-descarga"></i><span>Ficha Técnica</span>
  185.                                         </a>
  186.                                     </div>
  187.                                 {% endif %}
  188.                             </div>
  189.                         </div>
  190.                     {% endfor %}
  191.                 </div>
  192.             </div>
  193.         </section>
  194.     {% endif %}
  195.     <section class="b3 b3Detail blocks-ancla" id="cotizar">
  196.         <div class="b3Background">
  197.             <div class="b3Wrapper wanchoSecondary">
  198.                 <div class="b3Left">
  199.                     <div class="b3LeftBox">
  200.                         {% if forms.truckTitle %}
  201.                             <div class="b2Title">
  202.                                 <h2 class="titleStandard">{{ forms.truckTitle }}</h2>
  203.                             </div>
  204.                         {% endif %}
  205.                         {{ form_start(form) }}
  206.                             {% include 'front/templates/form_utm_fields.html.twig' %}
  207.                             {{ form_widget(form.model) }}
  208.                             {{ form_widget(form.crmModel) }}
  209.                             {{ form_widget(form.department) }}
  210.                             {{ form_widget(form.subject) }}
  211.                             <div class="b21WrapInput">
  212.                                 <div class="b21Input">
  213.                                     {{ form_widget(form.document, {'attr': {'data-expresion': 'number', 'class': 'validKeypress g-number form-contact validate[required,custom[onlyNumberSp]]'}}) }}
  214.                                     <span class="form-label">RUC*</span>
  215.                                 </div>
  216.                                 <div class="b21Input">
  217.                                     {{ form_widget(form.company, {'attr': {'data-expresion': 'text', 'class': 'validKeypress g-text form-contact validate[required,custom[onlyLetterSp]]'}}) }}
  218.                                     <span class="form-label">Empresa/Razón social*</span>
  219.                                 </div>
  220.                             </div>
  221.                             <div class="b21WrapInput">
  222.                                 <div class="b21Input">
  223.                                     {{ form_widget(form.name, {'attr': {'data-expresion': 'text', 'class': 'validKeypress g-text form-contact validate[required,custom[onlyLetterSp]]'}}) }}
  224.                                     <span class="form-label">Nombres*</span>
  225.                                 </div>
  226.                                 <div class="b21Input">
  227.                                     {{ form_widget(form.lastName, {'attr': {'data-expresion': 'text', 'class': 'validKeypress g-text form-contact validate[required,custom[onlyLetterSp]]'}}) }}
  228.                                     <span class="form-label">Apellidos*</span>
  229.                                 </div>
  230.                             </div>
  231.                             <div class="b21WrapInput">
  232.                                 <div class="b21Input">
  233.                                     {{ form_widget(form.email, {'attr': {'class': 'form-contact validate[required,custom[email]]'}}) }}
  234.                                     <span class="form-label">Correo*</span>
  235.                                 </div>
  236.                                 <div class="b21Input">
  237.                                     {{ form_widget(form.phone, {'attr': {'data-expresion': 'number', 'class': 'validKeypress g-number form-contact validate[required,custom[onlyNumberSp]]'}}) }}
  238.                                     <span class="form-label">Teléfono*</span>
  239.                                 </div>
  240.                             </div>
  241.                             <div class="b21Select">
  242.                                 <select class="form-contact-select validate[required]" id="department">
  243.                                     <option value="" disabled selected></option>
  244.                                     {% for item in departmentsArray %}
  245.                                         <option value="{{ item.title }}">{{ item.title }}</option>
  246.                                     {% endfor %}
  247.                                 </select>
  248.                                 <span class="form-label">Departamento*</span>
  249.                                 <i class="icon-iconos-10"></i>
  250.                             </div>
  251.                             <div class="b21Select">
  252.                                 <select class="form-contact-select" id="subject">
  253.                                     <option value="" disabled selected></option>
  254.                                     {% for item in forms.truckSubjects %}
  255.                                         <option value="{{ item.title }}">{{ item.title }}</option>
  256.                                     {% endfor %}
  257.                                 </select>
  258.                                 <span class="form-label">Motivo de su contacto</span>
  259.                                 <i class="icon-iconos-10"></i>
  260.                             </div>
  261.                             <div class="b21Textarea">
  262.                                 {{ form_widget(form.message, {'attr': {'cols': '40', 'rows': '10', 'class': 'form-contact'}}) }}
  263.                                 <span class="form-label">Mensaje</span>
  264.                             </div>
  265.                             <div class="b21Paragraph">
  266.                                 (*) Campos obligatorios.
  267.                             </div>
  268.                             <div class="b21WrapCheckbox">
  269.                                 <input type="checkbox" id="b21Checkbox" class="validate[required]" name="">
  270.                                 <label for="b21Checkbox">Acepto las <a href="{{ path('privacy_policies') }}" target="_blank">Políticas de Privacidad</a></label>
  271.                             </div>
  272.                             <button class="buttonStandard gray b21Btn" id="BtnLibro">Enviar</button>
  273.                             {% if info.showCaptcha %}
  274.                                 <input type="hidden" name="recaptcha_token" id="recaptchaToken">
  275.                             {% endif %}
  276.                         {{ form_end(form) }}
  277.                     </div>
  278.                 </div>
  279.                 {% if model.formImage|image_path %}
  280.                     <div class="b3Right">
  281.                         <picture class="b3RightPicture">
  282.                             <img class="b3RightPictureImage" src="{{ asset(model.formImage|image_path) }}" width="600" alt="{{ model.formImage|image_alt }}">
  283.                         </picture>
  284.                     </div>
  285.                 {% endif %}
  286.             </div>
  287.         </div>
  288.     </section>
  289. {% endblock %}
  290. {% block jsfinal %}
  291.     {% if info.showCaptcha %}
  292.         <script src="https://www.google.com/recaptcha/api.js?render={{ info.captchaSite }}"></script>
  293.         <script>
  294.             grecaptcha.ready(function() {
  295.                 grecaptcha.execute('{{ info.captchaSite }}', {action: 'submit'}).then(function(token) {
  296.                     document.getElementById('recaptchaToken').value = token;
  297.                 });
  298.             });
  299.         </script>
  300.     {% endif %}
  301.     <script src="{{ asset('assets/js/slick/slick.min.js') }}"></script>
  302.     <script type="text/javascript">
  303.         jQuery(function ($) {
  304.             $('.b13sliderImageBig').slick({
  305.                 slidesToShow: 1,
  306.                 slidesToScroll: 1,
  307.                 arrows: true,
  308.                 prevArrow: '.b13ArrowPrev',
  309.                 nextArrow: '.b13ArrowNext',
  310.                 autoplay: false,
  311.                 infinite:true,
  312.                 fade: false,
  313.                 centerMode: false,
  314.                 draggable: true,
  315.                 asNavFor: '.b13sliderThumbnails'
  316.             });
  317.             $('.b13sliderThumbnails').slick({
  318.                 slidesToShow: 5,
  319.                 slidesToScroll: 1,
  320.                 asNavFor: '.b13sliderImageBig',
  321.                 dots: false,
  322.                 arrows: false,
  323.                 centerMode: false,
  324.                 infinite:false,
  325.                 centerMode: false,
  326.                 focusOnSelect: true,
  327.                 responsive: [
  328.                     {
  329.                         breakpoint: 1024,
  330.                         settings: {
  331.                             slidesToShow: 5,
  332.                         }
  333.                     },
  334.                     {
  335.                         breakpoint: 600,
  336.                         settings: {
  337.                             slidesToShow: 4,
  338.                         }
  339.                     },
  340.                     {
  341.                         breakpoint: 480,
  342.                         settings: {
  343.                             slidesToShow: 3,
  344.                         }
  345.                     }
  346.                 ]
  347.             });
  348.             $("form").validationEngine('attach', {
  349.                 promptPosition: "topLeft",
  350.                 autoHidePrompt: true,
  351.                 autoPositionUpdate: false,
  352.                 autoHideDelay: 2000,
  353.                 binded: false,
  354.                 scroll: false,
  355.                 validateNonVisibleFields: true
  356.             })
  357.             $('#subject').on('change', function () {
  358.                 $('#form_quotation_truck_subject').val($(this).val());
  359.             })
  360.             $('#department').on('change', function () {
  361.                 $('#form_quotation_truck_department').val($(this).val());
  362.             })
  363.             $('#form_quotation_truck_model').val('{{ model.title }}');
  364.             $('#form_quotation_truck_crmModel').val('{{ model.crmTitle ?? model.title }}');
  365.             $('#BtnLibro').on('click', function (event) {
  366.                 event.preventDefault();
  367.                 const item = $(this);
  368.                 const form = item.closest('form');
  369.                 const valid = form.validationEngine('validate');
  370.                 if (valid) {
  371.                     item.prop('disabled', true).text('Enviando...');
  372.                     form.submit();
  373.                 } else {
  374.                     item.prop('disabled', false).text('Enviar');
  375.                 }
  376.             });
  377.         })
  378.     </script>
  379. {% endblock %}