templates/frontend/product/product.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% trans_default_domain 'store' %}
  3. {% block title %}
  4.     {% if product.metaTitle is defined %}
  5.         {{ product.metaTitle }}
  6.     {% else %}
  7.         {{ product.nazwa }}
  8.     {% endif %}
  9. {% endblock %}
  10. {% block meta_desc_key %}
  11.     {% if product.metaDescription is defined %}
  12.         <meta name="description" content="{{ product.metaDescription|slice(0,300) }}...">
  13.     {% else %}
  14.         <meta name="description" content="{{ product.getDescriptionFb|slice(0,60) }}">
  15.     {% endif %}
  16.     {% if product.metaKeywords %}
  17.         <meta name="keywords" content="{{ product.metaKeywords }}">
  18.     {% endif %}
  19.     {% if product.getCanonical %}
  20.         <link rel="canonical" href="{{ product.getCanonical }}" />
  21.     {% endif %}
  22.     {% if app.request.locale == 'pl' %}
  23.         {# veltis tag #}
  24.         {#
  25.             <script async src='https://app.veltis.io/uploads/veltis.js'></script><script>window.veltisData = window.veltisData || []; function veltisTag() { veltisData.push(arguments); } veltisTag('js', new Date()); veltisTag('config', '1aadaf84c154d3e3'); </script>
  26.         #}
  27.     {% endif %}
  28. {% endblock %}
  29. {% block facebook %}
  30.     {% set imgShow = 0 %}
  31.     {% for image in product.photos %}
  32.         {% if image.main == 1 and imgShow == 0 %}
  33.             <meta property="og:image" content="{{ language.storeUrl }}/images/product/{{ image.imageName }}"/>
  34.             {% set imgShow = 1 %}
  35.         {% endif %}
  36.     {% endfor %}
  37.     {% autoescape %}
  38.         <meta property="og:title" content="{{ product.name }}"/>
  39.     {% endautoescape %}
  40.     <meta property="og:url" content="{{ language.storeUrl }}{{ path('product', {'slug':product.slug, 'id':product.id}) }}"/>
  41.     <meta property="og:description" content="{{ product.metaDescription|slice(0,300) }}...">
  42.     <meta property="og:type" content="product">
  43.     {% if app.request.locale == 'pl' %}
  44.         {% if 'ckdev' in app.request.getSchemeAndHttpHost() %}
  45.             <meta name="robots" content="noindex, nofollow" />
  46.         {% endif %}
  47.     {% endif %}
  48.     {% if app.request.locale == 'cz' %}
  49.         {% if 'dev.ezidle' in app.request.getSchemeAndHttpHost() %}
  50.             <meta name="robots" content="noindex, nofollow" />
  51.         {% endif %}
  52.     {% endif %}
  53.     {% if app.request.locale == 'sk' %}
  54.         {% if 'dev.stolicky24' in app.request.getSchemeAndHttpHost() %}
  55.             <meta name="robots" content="noindex, nofollow" />
  56.         {% endif %}
  57.     {% endif %}
  58.     {% if app.request.locale == 'ro' %}
  59.         {% if 'ro.centrumkrzesel' in app.request.getSchemeAndHttpHost() %}
  60.             <meta name="robots" content="noindex, nofollow" />
  61.         {% endif %}
  62.     {% endif %}
  63. {% endblock %}
  64. {% block css %}
  65.     {{ parent() }}
  66.     <style>
  67.         .modele_i_cechy .left-25 ul {
  68.             list-style: initial;
  69.         }
  70.         .eye-icon {
  71.             margin-top: -113px;
  72.             margin-left: 6px;
  73.             position: absolute;
  74.             color: white;
  75.             font-size: 14px;
  76.         }
  77.         .ck-table th {
  78.             padding-top:29px;
  79.             font-size:14px;
  80.         }
  81.         .ck-table td {
  82.             font-size:14px;
  83.             padding-top:15px;
  84.             vertical-align: middle;
  85.         }
  86.         .image.is-square img, .image.is-1by1 img, .image.is-5by4 img, .image.is-4by3 img, .image.is-3by2 img, .image.is-5by3 img, .image.is-16by9 img, .image.is-2by1 img, .image.is-3by1 img, .image.is-4by5 img, .image.is-3by4 img, .image.is-2by3 img, .image.is-3by5 img, .image.is-9by16 img, .image.is-1by2 img, .image.is-1by3 img {
  87.             width:auto;
  88.             height:auto;
  89.             margin-left:auto;
  90.             margin-right: auto;
  91.         }
  92.         .dropdown-content {
  93.             max-height: 400px;
  94.             overflow: auto;
  95.         }
  96.         @media (max-width: 1024px) {
  97.             .video-container iframe {
  98.                 width:100%!important;
  99.                 height:auto!important;
  100.                 min-height: 300px!important;
  101.             }
  102.             .blueimp-gallery>.close {
  103.                 top:13%!important;
  104.                 right: 15px!important;
  105.             }
  106.             .select-image-display {
  107.                 margin-top:-50px;
  108.             }
  109.         }
  110.         @media (max-width: 767px) {
  111.             .image.is-square img, .image.is-1by1 img, .image.is-5by4 img, .image.is-4by3 img, .image.is-3by2 img, .image.is-5by3 img, .image.is-16by9 img, .image.is-2by1 img, .image.is-3by1 img, .image.is-4by5 img, .image.is-3by4 img, .image.is-2by3 img, .image.is-3by5 img, .image.is-9by16 img, .image.is-1by2 img, .image.is-1by3 img {
  112.                 width:auto;
  113.                 height:auto;
  114.                 margin-left:auto;
  115.                 margin-right: auto;
  116.                 max-height: 450px;
  117.             }
  118.             .left-25 {
  119.                 padding-left:0px;
  120.             }
  121.             .pricingContainer {
  122.                 overflow: auto;
  123.             }
  124.         }
  125.         .descriptionDiv a {
  126.             color:#23d160 !important;
  127.         }
  128.         .descriptionDiv .column {
  129.             padding:0.5rem;
  130.         }
  131.         .descriptionDiv img {
  132.             margin:0px!important;
  133.             padding:0px!important;
  134.         }
  135.         .main-image img {
  136.             cursor: pointer;
  137.         }
  138.         .blueimp-gallery {
  139.             background: rgba(0, 0, 0, 0.50)!important;
  140.         }
  141.         @media (max-width: 550px) {
  142.             .material-presentation-mobile {
  143.                 width: 50%; float: left; min-height: 250px;
  144.             }
  145.         }
  146.         .ck-table td:first-child {
  147.             padding: 6px 12px!important;
  148.             border:1px solid #ebebeb;
  149.         }
  150.         #podobne .tabs ul .is-active a{
  151.             font-weight: bold;
  152.         }
  153.         .zoom-on-hover img {
  154.             cursor: pointer;
  155.         }
  156.         .remove-first-element .column:first-child {
  157.             display: none;
  158.         }
  159.         @media (max-width: 730px) {
  160.             .zoom-on-hover .normal {
  161.                 width: fit-content !important;
  162.             }
  163.             .main-content-mobile-up {
  164.                 margin-top:-80px;
  165.             }
  166.             .main-content-mobile-up .is-full {
  167.                 padding-bottom:0px!important;
  168.             }
  169.             .hr {
  170.                 margin-top:20px!important;
  171.                 margin-bottom:50px!important;
  172.             }
  173.         }
  174.         .removeDot {
  175.             margin:0;
  176.             padding:0;
  177.             list-style:none;
  178.         }
  179.         .removeDot div a {
  180.             text-decoration: underline!important;
  181.         }
  182.         @media (max-width: 1024px) {
  183.             .removeDot div p img, .removeDot div img {
  184.                 width: auto!important;
  185.                 height:auto!important;
  186.             }
  187.         }
  188.         .author-circle {
  189.             object-fit: cover;
  190.             border-radius: 50%;
  191.             -webkit-border-radius: 50%;
  192.             -moz-border-radius: 50%;
  193.             color: #ffffff;
  194.             font-weight: normal;
  195.             text-align: center;
  196.             vertical-align: middle;
  197.             display: table;
  198.         }
  199.         .author-container {
  200.             position: relative;
  201.             margin: auto;
  202.             /* overflow: hidden; */
  203.             border-radius: 50%;
  204.             -webkit-border-radius: 50%;
  205.             -moz-border-radius: 50%;
  206.             border: 2px solid #ffffff;
  207.             overflow: visible;
  208.         }
  209.         .blue-notifi-notification {
  210.             background-color: rgb(242, 248, 255);
  211.             color: rgb(48, 133, 229);
  212.             font-weight: bold;
  213.         }
  214.         .rateit .rateit-preset {
  215.             color:#f8d52f!important;
  216.         }
  217.         #show_comments_button {
  218.             margin-left:10px;
  219.         }
  220.         /* Styling for details section */
  221.         #detailsSection {
  222.             max-width: 200px; /* Adjust width as needed */
  223.             word-wrap: break-word; /* Ensures long words wrap properly */
  224.             line-height: 23px;
  225.         }
  226.         /* Align "Podmiot odpowiedzialny" container */
  227.         #toggleDetails {
  228.             max-width: 230px; /* Ensure this container aligns with content */
  229.             display: block;
  230.         }
  231.         /* Icon alignment */
  232.         #toggleDetails span.icon {
  233.             margin-left: 10px; /* Space between text and icon */
  234.         }
  235.     </style>
  236.     <style>
  237.         @media (max-width: 730px) {
  238.             .level-item-name {
  239.                 display: block!important;
  240.             }
  241.             .content-comment {
  242.                 width:87%!important;
  243.             }
  244.             .hide-mobile {
  245.                 display: none!important;
  246.             }
  247.         }
  248.     </style>
  249.     <link rel="stylesheet" href="/metronic/lightbox2/dist/css/lightbox.min.css">
  250.     <link rel="stylesheet" href="/js/rate-script/scripts/rateit.css" />
  251. {% endblock %}
  252. {% block javascripts %}
  253.     {{ parent() }}
  254.     <script>
  255.         document.addEventListener('DOMContentLoaded', function () {
  256.             // Modals
  257.             var rootEl = document.documentElement;
  258.             var allModals = getAll('.modal');
  259.             var modalButtons = getAll('.modal-button');
  260.             var modalCloses = getAll('.modal-background, .modal-close, .modal-card-head .delete, .modal-card-foot .button');
  261.             if (modalButtons.length > 0) {
  262.                 modalButtons.forEach(function (el) {
  263.                     el.addEventListener('click', function () {
  264.                         var target = document.getElementById(el.dataset.target);
  265.                         target.classList.add('is-active');
  266.                     });
  267.                 });
  268.             }
  269.             if (modalCloses.length > 0) {
  270.                 modalCloses.forEach(function (el) {
  271.                     el.addEventListener('click', function () {
  272.                         closeModals();
  273.                     });
  274.                 });
  275.             }
  276.             document.addEventListener('keydown', function (event) {
  277.                 var e = event || window.event;
  278.                 if (e.keyCode === 27) {
  279.                     closeModals();
  280.                 }
  281.             });
  282.             function closeModals() {
  283.                 rootEl.classList.remove('is-clipped');
  284.                 allModals.forEach(function (el) {
  285.                     el.classList.remove('is-active');
  286.                 });
  287.             }
  288.             // Functions
  289.             function getAll(selector) {
  290.                 return Array.prototype.slice.call(document.querySelectorAll(selector), 0);
  291.             }
  292.         });
  293.         // Popup window code
  294.         function newPopup(url) {
  295.             popupWindow = window.open(
  296.                 url,'popUpWindow','height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
  297.         }
  298.         function newPopupImage(url) {
  299.             popupWindow = window.open(
  300.                 url,'popUpWindow','left=10,top=10,width=800;height=700;resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
  301.         }
  302.         $(document).ready(function () {
  303.             $('.similarLinkStart').trigger("click");
  304.             var chosen = [];
  305.             var $list = $(".chosen_params_list");
  306.             function collectParameters() {
  307.                 $list.each(function() {
  308.                     chosen.push({'param':$(this).attr('data-id'), 'value':$(this).val()});
  309.                 });
  310.                 return chosen;
  311.             }
  312.             function collectEquipment() {
  313.                 var chosenEquipment = [];
  314.                 var $equipmentContainer = $(".equipmentCheckbox");
  315.                 $equipmentContainer.each(function() {
  316.                     if ($(this).is(':checked')) {
  317.                         chosenEquipment.push($(this).attr('data-id'));
  318.                     }
  319.                 });
  320.                 return chosenEquipment;
  321.             }
  322.             function isOK(string) {
  323.                 var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  324.                 return regex.test(string);
  325.             }
  326.             $('#notify-button').on("click", function() {
  327.                 $('#error_notify_container').hide();
  328.                 var notifyOn = $('#notify_input').val();
  329.                 if (isOK(notifyOn)) {
  330.                     $(this).append('&nbsp;<i class="fas fa-spinner fa-pulse"></i>').css("opacity", '0.6');
  331.                     var url = $('#new_waiting_list').val();
  332.                     var productId = $('#product_id').val();
  333.                     var email = $('#notify_input').val();
  334.                     $.ajax({
  335.                         type: "POST",
  336.                         url: url,
  337.                         data: {'email':email, 'productId':productId},
  338.                         success: function (data) {
  339.                             $('#notify_container').html("<div class='notification blue-notifi-notification'>{{ 'notify_thankyou_text'|trans }}</div>")
  340.                         }
  341.                     });
  342.                 } else {
  343.                     $('#error_notify_container').show();
  344.                 }
  345.             });
  346.             $('.modal-button').on("click", function() {
  347.                 var url = $(this).attr('data-href');
  348.                 $.ajax({
  349.                     type: "POST",
  350.                     url: url,
  351.                     success: function (data) {
  352.                         $('.modal-card-body').html(data);
  353.                     }
  354.                 });
  355.             });
  356.             function addToCart() {
  357.                 $('.cart-error-notification').hide();
  358.                 let parameters = collectParameters();
  359.                 let $variant = $('#variant').val();
  360.                 var product_id = $('#product_id').val();
  361.                 var quantity = $('#amount').val();
  362.                 var url = $('#add_to_cart_url').val();
  363.                 var equipments = collectEquipment();
  364.                 $.ajax({
  365.                     type: "POST",
  366.                     url: url,
  367.                     data: {'equipments':equipments, 'product_id':product_id, 'quantity':quantity, 'variant':$variant, 'parameters':parameters},
  368.                     success: function (data) {
  369.                         if (parseInt(data.error) === 1) {
  370.                             $('.cart-error-notification').show();
  371.                             $('.cart-error-notification').html(data.message);
  372.                             $('#ask-button').prop('disabled', false);
  373.                         } else {
  374.                             var price = $('#productPriceContainer').html();
  375.                             price.replace(",",'.');
  376.                             let gaPrice = parseFloat(price);
  377.                             var name = $('#item_name').val();
  378.                             window.dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
  379.                             window.dataLayer.push({
  380.                                 event: 'add_to_cart',
  381.                                 value: gaPrice,
  382.                                 currency: ""+$('#getGa4CodeCurrency').val()+"",
  383.                                 ecommerce: {
  384.                                     items: [{
  385.                                         item_name: ""+name+"",
  386.                                         item_id: ""+product_id+"",
  387.                                         price: gaPrice,
  388.                                         quantity: ""+quantity+""
  389.                                     }]
  390.                                 }
  391.                             });
  392.                             {% if app.request.locale == 'ro' %}
  393.                                 if (typeof bianoTrack === 'function') {
  394.                                     bianoTrack('track', 'add_to_cart', {
  395.                                         id: 'CK{{ product.id }}', // Unique identifier of the product
  396.                                         quantity: parseInt(quantity), // Category of the product
  397.                                         unit_price: gaPrice, // Product price (e.g., 99.99)
  398.                                         currency: 'RON' // Currency of the product price (e.g., 'USD', 'EUR')
  399.                                     });
  400.                                 }
  401.                             {% endif %}
  402.                             window.location.href = '/cart';
  403.                         }
  404.                     }
  405.                 });
  406.             }
  407.             $('#ask-button').on("click", function(e) {
  408.                 e.preventDefault();
  409.                 let allowToAdd = isAllowToAdd();
  410.                 if (allowToAdd) {
  411.                     e.preventDefault();
  412.                     $(this).prop('disabled', true);
  413.                     addToCart();
  414.                 }
  415.             });
  416.             {% if parameterValues|length >= 1 %}
  417.                 $('#ask-button').css('opacity', '0.5');
  418.             {% endif %}
  419.         });
  420.         $('.equipmentCheckbox').on("click", function(){
  421.             var productPriceContainer = $('#productPriceContainer');
  422.             var currentPrice = productPriceContainer.html();
  423.             var currencySeparator = $('#currencySeparator').val();
  424.             isComma = currencySeparator.includes(',');
  425.             currentPrice = currentPrice.replace(/,/g, '.');
  426.             //currentPrice = currentPrice.replace(/\D/g,'');
  427.             currentPrice = parseFloat(currentPrice);
  428.             var equipmentPrice = parseFloat($(this).attr('data-price'));
  429.             var currencySign = $('#currencySign').val();
  430.             if ($(this).is(':checked')) {
  431.                 var newValue = (currentPrice + equipmentPrice).toFixed(2);
  432.                 productPriceContainer.html(newValue+' '+currencySign);
  433.                 if (isComma) {
  434.                     var productPriceContainer = $('#productPriceContainer');
  435.                     var currentPrice = productPriceContainer.html();
  436.                     currentPrice = currentPrice.replace(/\./g, ",");
  437.                     productPriceContainer.html(currentPrice);
  438.                 } else {
  439.                     productPriceContainer.html(newValue+' '+currencySign);
  440.                 }
  441.             } else {
  442.                 var newValue = (currentPrice - equipmentPrice).toFixed(2);
  443.                 productPriceContainer.html(newValue + ' ' + currencySign);
  444.                 if (isComma) {
  445.                     var productPriceContainer = $('#productPriceContainer');
  446.                     var currentPrice = productPriceContainer.html();
  447.                     currentPrice = currentPrice.replace(/\./g, ",");
  448.                     productPriceContainer.html(currentPrice);
  449.                 } else {
  450.                     productPriceContainer.html(newValue + ' ' + currencySign);
  451.                 }
  452.             }
  453.         });
  454.         $('#show_comments_button').on("click", function() {
  455.             $('#comment_container').show();
  456.             $(this).hide();
  457.             $('.rateit').rateit({ max: 5, step: 1, backingfld: '#backing7' });
  458.         });
  459.     </script>
  460.     <script src="/metronic/lightbox2/dist/js/lightbox.js"></script>
  461.     <script>
  462.         lightbox.option({
  463.             'fitImagesInViewport': false,
  464.             'disableScrolling': false,
  465.         })
  466.     </script>
  467.     <script src="/js/rate-script/scripts/jquery.rateit.js"></script>
  468.     {% if app.request.locale == 'ro' %}
  469.         <script>
  470.             window.addEventListener("ucEvent", function (e) {
  471.                 if (e.detail && e.detail.event === "consent_status") {
  472.                     const ucBianoService = 'Biano Pixel';
  473.                     if (e.detail.hasOwnProperty(ucBianoService) && e.detail[ucBianoService]) {
  474.                         bianoTrack('track', 'product_view', {
  475.                             id: 'CK{{ product.id }}', // Unique identifier of the product
  476.                             productName: '{{ product.name }}', // Name of the product
  477.                             productCategory: '{{ product.mainCategory.name }}', // Category of the product
  478.                             productValue: {{ minPrice }}, // Product price (e.g., 99.99)
  479.                             currency: 'RON' // Currency of the product price (e.g., 'USD', 'EUR')
  480.                         });
  481.                     }
  482.                 }
  483.             });
  484.         </script>
  485.     {% endif %}
  486.     <script>
  487.         $(document).ready(function() {
  488.             $("#toggleDetails").on("click", function() {
  489.                 // Toggle the details section
  490.                 $("#detailsSection").slideToggle();
  491.                 // Swap the caret icon
  492.                 const icon = $("#toggleIcon i");
  493.                 if (icon.hasClass("fa-caret-down")) {
  494.                     icon.removeClass("fa-caret-down").addClass("fa-caret-up");
  495.                 } else {
  496.                     icon.removeClass("fa-caret-up").addClass("fa-caret-down");
  497.                 }
  498.             });
  499.         });
  500.     </script>
  501. {% endblock %}
  502. {% block content %}
  503.     {% set pProduct = product %}
  504.     <div vocab="http://schema.org/" typeof="Product">
  505.     <input type="hidden" name="product_id" id="product_id" value="{{ product.id }}"/>
  506.     <input type="hidden" name="add_to_cart_url" id="add_to_cart_url" value="{{ path('add_to_cart') }}"/>
  507.     <input type="hidden" name="home_url" id="home_url" value="{{ path('homepage') }}">
  508.     <input type="hidden" name="variant" id="variant" value="">
  509.     <input type="hidden" id="currencySeparator" value="{{ language.currency.separator }}">
  510.     <input type="hidden" id="currencySign" value="{{ language.currency.sign }}">
  511.     <input type="hidden" id="new_waiting_list" value="{{ path('new_waiting_list') }}"/>
  512.     <input type="hidden" id="item_name" value="{{ product.name }}"/>
  513.     <input type="hidden" id="getGa4CodeCurrency" value="{{ language.getGa4Code }}"/>
  514.     {% if vat is defined and vat and vat.value %}
  515.         <input type="hidden" id="vat" value="{{ 1+(vat.value/100) }}"/>
  516.     {% endif %}
  517.     {% set c = 0 %}
  518.     {% if parameterValues|length %}
  519.         {% for key, param in parameterValues %}
  520.             {% set c = c +1 %}
  521.             {% if c == 1 %}
  522.                 {% if firstParamValues|length %}
  523.                     {% set variant = firstParamValues[0] %}
  524.                     {% if variant.value %}
  525.                         {#
  526.                         <input id="chosen_param_{{ key }}" class="chosen_params_list" type="hidden" data-sort="{{ c }}" name="chosen_param_{{ key }}" data-id="{{ key }}" value="{{ variant.value.id }}"/>
  527.                         #}
  528.                     {% endif %}
  529.                 {% endif %}
  530.                 <input id="chosen_param_{{ key }}" class="chosen_params_list" type="hidden" data-sort="{{ c }}" name="chosen_param_{{ key }}" data-id="{{ key }}" value="0"/>
  531.             {% else %}
  532.                 <input id="chosen_param_{{ key }}" class="chosen_params_list" type="hidden" data-sort="{{ c }}" name="chosen_param_{{ key }}" data-id="{{ key }}" value="0"/>
  533.             {% endif %}
  534.         {% endfor %}
  535.     {% endif %}
  536.     <input type="hidden" value="{{ path('loadNextParam', {'id':product.id}) }}" id="loadNextParam"/>
  537.     <input type="hidden" value="{{ parameterValues|length }}" id="paramCounter"/>
  538.     <!-- START OF BREADCRUMBS SECTION -->
  539.     <section class="section topSection">
  540.         <div class="container">
  541.             <div class="columns is-multiline">
  542.                 <!-- START OF BREADCRUMBS -->
  543.                 <div class="column is-full">
  544.                     <nav class="breadcrumb has-arrow-separator is-hidden-mobile" aria-label="breadcrumb">
  545.                         <ul vocab="https://schema.org/" typeof="BreadcrumbList">
  546.                             <li property="itemListElement" typeof="ListItem">
  547.                                 <a property="item" typeof="WebPage" href="{{ path('homepage') }}"><span property="name">{{ language.shopName }}</span></a>
  548.                                 <meta property="position" content="1">
  549.                             </li>
  550.                             {% if product.mainCategory.deletedBy == null %}
  551.                                 <li property="itemListElement" typeof="ListItem">
  552.                                     <a property="item" typeof="WebPage" href="{{ path('category', {'id':product.mainCategory.id, 'slug':product.mainCategory.slug}) }}"><span property="name">{{ product.mainCategory.name }}</span></a>
  553.                                     <meta property="position" content="2">
  554.                                 </li>
  555.                             {% endif %}
  556.                             <li class="is-active" property="itemListElement" typeof="ListItem">
  557.                                 <a property="item" typeof="WebPage" href="#"><span property="name">{{ product.name }}</span></a>
  558.                                 <meta property="position" content="3">
  559.                             </li>
  560.                         </ul>
  561.                     </nav>
  562.                 </div>
  563.                 <!-- END OF BREADCRUMBS -->
  564.             </div>
  565.         </div>
  566.     </section>
  567.     <!-- END OF BREADCRUMBS NAME SECTION -->
  568.     <!-- START OF MAIN SECTION -->
  569.     <section class="section topSection">
  570.         <div class="container">
  571.             <div class="columns is-multiline">
  572.                 <!-- START OF PRODUCT IMAGES -->
  573.                 <div class="column is-half-desktop is-full-touch">
  574.                     <div id="galleryMain">
  575.                     <carousel-gallery inline-template v-cloak
  576.                                       :small-imgs="[
  577.                                 {% set imgArr = [] %}
  578.                                 {% for image in product.photos %}
  579.                                     {% if image.getIsAvailableForLang(language) %}
  580.                                         {% if image.imageName in imgArr %}
  581.                                         {% else %}
  582.                                             {% if image.main == 1 %}
  583.                                                 {% set imgArr = imgArr|merge([image.imageName]) %}
  584.                                                 '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('smallProdImage') }}',
  585.                                             {% endif %}
  586.                                         {% endif %}
  587.                                     {% endif %}
  588.                                 {% endfor %}
  589.                                 {% for image in product.photos %}
  590.                                     {% if image.getIsAvailableForLang(language) %}
  591.                                         {% if image.imageName in imgArr %}
  592.                                         {% else %}
  593.                                             '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('smallProdImage') }}',
  594.                                             {% set imgArr = imgArr|merge([image.imageName]) %}
  595.                                         {% endif %}
  596.                                     {% endif %}
  597.                                 {% endfor %}
  598.                                 {% for image in product.photos %}
  599.                                     {% if image.getIsAvailableForLang(language) %}
  600.                                         {% if image.imageName in imgArr %}
  601.                                         {% else %}
  602.                                             '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('smallProdImage') }}',
  603.                                             {% set imgArr = imgArr|merge([image.imageName]) %}
  604.                                         {% endif %}
  605.                                     {% endif %}
  606.                                 {% endfor %}
  607.                             ]"
  608.                                       :big-imgs="[
  609.                                       {% set imgArr = [] %}
  610.                                 {% for image in product.photos %}
  611.                                     {% if image.getIsAvailableForLang(language) %}
  612.                                         {% if image.imageName in imgArr %}
  613.                                         {% else %}
  614.                                             {% if image.main == 1 %}
  615.                                                 {% set imgArr = imgArr|merge([image.imageName]) %}
  616.                                                 {
  617.                                                     title: ' ',
  618.                                                     href: '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('bigProductImageLowerQuality') }}',
  619.                                                     type: 'image/jpeg',
  620.                                                     thumbnail: '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('bigProductImageLowerQuality') }}',
  621.                                                 },
  622.                                             {% endif %}
  623.                                         {% endif %}
  624.                                     {% endif %}
  625.                                   {% endfor %}
  626.                                 {% for image in product.photos %}
  627.                                     {% if image.getIsAvailableForLang(language) %}
  628.                                         {% if image.imageName in imgArr %}
  629.                                         {% else %}
  630.                                             {
  631.                                                     title: ' ',
  632.                                                     href: '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('bigProductImageLowerQuality') }}',
  633.                                                     type: 'image/jpeg',
  634.                                                     thumbnail: '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('bigProductImageLowerQuality') }}',
  635.                                                 },
  636.                                             {% set imgArr = imgArr|merge([image.imageName]) %}
  637.                                         {% endif %}
  638.                                     {% endif %}
  639.                                 {% endfor %}
  640.                                 {% for image in product.photos %}
  641.                                     {% if image.getIsAvailableForLang(language) %}
  642.                                         {% if image.imageName in imgArr %}
  643.                                         {% else %}
  644.                                             {
  645.                                                     title: ' ',
  646.                                                     href: '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('bigProductImageLowerQuality') }}',
  647.                                                     type: 'image/jpeg',
  648.                                                     thumbnail: '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('bigProductImageLowerQuality') }}',
  649.                                                 },
  650.                                             {% set imgArr = imgArr|merge([image.imageName]) %}
  651.                                         {% endif %}
  652.                                     {% endif %}
  653.                                 {% endfor %}
  654.                                 {# film youtube #}
  655.                                 {% if product.getYoutubeGalleryUrl %}
  656.                                     {% for image in product.photos|slice(1,1) %}
  657.                                     {
  658.                                         title: 'YouTube Film',
  659.                                         href: ' ',
  660.                                         type: 'text/html',
  661.                                         youtube: '{{ product.getYoutubeGalleryUrl }}',
  662.                                         poster: '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('bigProductImageLowerQuality') }}'
  663.                                     }
  664.                                     {% endfor %}
  665.                                     ,
  666.                                 {% endif %}
  667.                                 {# prezentacja 3D Orbittour #}
  668.                                 {% if product.getPhoto3dGalleryUrl %}
  669.                                     {% for image in product.photos|slice(2,1) %}
  670.                                     {
  671.                                         title: '3D',
  672.                                         href: ' ',
  673.                                         id: '{{ product.getPhoto3dGalleryUrl|extractOrbitturId }}',
  674.                                         script: '{{ product.getPhoto3dGalleryUrl }}',
  675.                                         type: 'orbittour',
  676.                                         poster: '{{ asset('/images/product/'~image.imageName~'') | imagine_filter('bigProductImageLowerQuality') }}'
  677.                                     },
  678.                                     {% endfor %}
  679.                                 {% endif %}
  680.                             ]">
  681.                         <div>
  682.                             <!-- START CAROUSEL-ITEM -->
  683.                             <gallery
  684.                                     :images="bigImgs"
  685.                                     :index="index"
  686.                                     :options="{
  687.                                         youTubeVideoIdProperty: 'youtube',
  688.                                         youTubePlayerVars: { autoplay: 1 },
  689.                                         youTubeClickToPlay: true,
  690.                                         toggleControlsOnReturn: true,
  691.                                         toggleControlsOnSlideClick: true
  692.                                     }"
  693.                                     @onslide="slideHandler"
  694.                                     @close="index = null" >
  695.                             </gallery>
  696.                             <agile
  697.                                     class="main"
  698.                                     ref="main"
  699.                                     :options="options1"
  700.                                     :as-nav-for="asNavFor1">
  701.                                 <div
  702.                                         class="slide"
  703.                                         v-for="(big, index) in bigImgs"
  704.                                         :key="index"
  705.                                         :class="'slide--' + index">
  706.                                     <div @click="openGallery( index )">
  707.                                         <zoom-on-hover
  708.                                                 :img-normal="big.poster || big.thumbnail"
  709.                                                 :scale="2" />
  710.                                     </div>
  711.                                 </div>
  712.                             </agile>
  713.                             <agile
  714.                                     class="thumbnails thb-gallery"
  715.                                     ref="thumbnails"
  716.                                     :options="options2"
  717.                                     :as-nav-for="asNavFor2"
  718.                                     v-if="smallImgs.length > 1">
  719.                                 <div
  720.                                         class="slide slide--thumbniail"
  721.                                         v-for="(slide, index) in smallImgs"
  722.                                         :key="index"
  723.                                         :class="'slide--' + index"
  724.                                         @click="$refs.thumbnails.goTo(index)">
  725.                                     <img :src="slide"/>
  726.                                 </div>
  727.                                 <template slot="prevButton"><i class="fas fa-chevron-left"></i></template>
  728.                                 <template slot="nextButton"><i class="fas fa-chevron-right"></i></template>
  729.                             </agile>
  730.                         </div>
  731.                         <!-- END CAROUSEL-ITEM -->
  732.                     </carousel-gallery>
  733.                     </div>
  734.                 </div>
  735.                 <!-- END OF PRODUCT IMAGES -->
  736.                 <!-- START OF SHORT DESCRIPTION -->
  737.                 <div class="column is-half-desktop is-full-touch select-boxy">
  738.                     <div class="columns is-multiline">
  739.                         {% if product.getProducer(language.localeShort).imageName %}
  740.                             <div class="column is-full has-text-centered-touch no-bot-padding gallery-container">
  741.                                 <figure class="image is-64x64-desktop is-48x48-tablet" style="min-height: initial!important;">
  742.                                     {#<a href="/search/query?query=&productProducer={{ product.getProducer(language.localeShort).id }}"> #}
  743.                                     <a href="{{ productProducerUrl(product.getProducer(language.localeShort).id, app.request.locale) }}">
  744.                                         <img style="width:90px!important;" src="/images/producer/{{ product.getProducer(language.localeShort).imageName }}" class="dropdown-img producer-image">
  745.                                     </a>
  746.                                 </figure>
  747.                             </div>
  748.                         {% endif %}
  749.                         <div class="column is-full has-text-centered-touch">
  750.                             <h1 class="title is-3">
  751.                                 <span property="name">
  752.                                     <strong>
  753.                                         {{ product.name }}
  754.                                     </strong>
  755.                                 </span>
  756.                             </h1>
  757.                         </div>
  758.                         <div class="column is-full has-text-centered-touch" property="offers" typeof="Offer">
  759.                             {% if productData.priceCrossed is defined and productData.currencySign is defined and productData.priceCrossed %}
  760.                                 <div class="title is-1">
  761.                                     <span class="title is-1" id="productPriceContainer" property="price" content="{{ minPrice }}" style="font-weight:900;
  762.                                     {% if productData.priceCrossed %}
  763.                                         color: #ef1b2b!important;
  764.                                     {% endif %}
  765.                                     ">
  766.                                         {{ minPrice|formatPrice(productData.currencyId) }}
  767.                                     </span>
  768.                                     &nbsp;
  769.                                     <span class="standard-color" style="font-weight: 300; font-size:32px;"><strike>{{ productData.priceCrossed|formatPrice(productData.currencyId) }}</strike></span>
  770.                                     {% if app.request.locale == 'pl' and product.payu %}
  771.                                         &nbsp; &nbsp; &nbsp;
  772.                                         <span class="is-hidden-touch raty"> {{ 'raty_0_procent'|trans }}</span>
  773.                                     {% endif %}
  774.                                     <div class="netto-price">
  775.                                         <em>{{ 'netto'|trans }} <span id="netto-price">{{ priceNetto|formatPrice(productData.currencyId) }}</span></em>
  776.                                     </div>
  777.                                 </div>
  778.                             {% else %}
  779.                                 <div class="title is-1">
  780.                                     <span class="title is-1" id="productPriceContainer" property="price" content="{{ minPrice }}" style="font-weight:900;">
  781.                                         {{ minPrice|formatPrice(productData.currencyId) }}
  782.                                     </span>
  783.                                     {% if app.request.locale == 'pl' and product.payu %}
  784.                                         &nbsp; &nbsp; &nbsp;
  785.                                         <span class="is-hidden-touch raty"> {{ 'raty_0_procent'|trans }}</span>
  786.                                     {% endif %}
  787.                                     <div class="netto-price">
  788.                                         <em>{{ 'netto'|trans }} <span id="netto-price">{{ priceNetto|formatPrice(productData.currencyId) }}</span></em>
  789.                                     </div>
  790.                                 </div>
  791.                             {% endif %}
  792.                             <div class="subtitle is-6" style="margin-top:10px;">
  793.                                 {{ 'weShipIn'|trans }} {{ product.getAvailability(language.localeShort).name }}
  794.                             </div>
  795.                             <link property="availability" href="http://schema.org/InStock" />
  796.                             {% if language.id == 1 %}
  797.                                 <span property="priceCurrency" content="PLN"></span>
  798.                                 <span property="url" content="https://www.centrumkrzesel.pl{{ path('product', {'id':product.id, 'slug':product.slug}, false) }}"></span>
  799.                             {% endif %}
  800.                             {% if language.id == 2 %}
  801.                                 <span property="priceCurrency" content="CZK"></span>
  802.                                 <span property="url" content="https://www.ezidle.cz{{ path('product', {'id':product.id, 'slug':product.slug}, false) }}"></span>
  803.                             {% endif %}
  804.                             {% if language.id == 3 %}
  805.                                 <span property="priceCurrency" content="EUR"></span>
  806.                                 <span property="url" content="https://www.stolicky24.sk{{ path('product', {'id':product.id, 'slug':product.slug}, false) }}"></span>
  807.                             {% endif %}
  808.                             {% if language.id == 4 %}
  809.                                 <span property="priceCurrency" content="RON"></span>
  810.                                 <span property="url" content="https://www.mobila24.ro{{ path('product', {'id':product.id, 'slug':product.slug}, false) }}"></span>
  811.                             {% endif %}
  812.                         </div>
  813.                         {% set imgShowProperty = 0 %}
  814.                         {% for image in product.photos %}
  815.                             {% if image.main == 1 and imgShowProperty == 0 %}
  816.                                 <span property="image" content="{{ language.storeUrl }}/images/product/{{ image.imageName }}"></span>
  817.                                 {% set imgShowProperty = 1 %}
  818.                             {% endif %}
  819.                         {% endfor %}
  820.                         {% if product.getProducer(language.localeShort) %}
  821.                             <span property="brand" content="{{ product.getProducer(language.localeShort).name }}"></span>
  822.                         {% endif %}
  823.                         {#
  824.                         {% if comments|length %}
  825.                             <span property="{{ rating|round(2) }}" content="{{ product.getProducer(language.localeShort).name }}"></span>
  826.                         {% endif %}
  827.                         #}
  828.                     </div>
  829.                     <!-- START OF DROPDOWNS SECTION -->
  830.                     <!-- START OF MODEL DROPDOWN -->
  831.                     {% if product.isVariants %}
  832.                         {% include 'frontend/product/_dropdown.html.twig' %}
  833.                     {% endif %}
  834.                     <div id="equipmentContainer" style="{% if product.isVariants %}display: none{% endif %}; font-size:15px;">
  835.                         {% set eqCounter = 0 %}
  836.                         {% for equipment in equipments %}
  837.                             {% if app.request.locale == equipment.locale %}
  838.                                 {% set eqCounter = eqCounter + 1 %}
  839.                             {% endif %}
  840.                         {% endfor %}
  841.                         {% if eqCounter %}
  842.                             <p>
  843.                                 {{ 'additional_equipment'|trans }}
  844.                             </p>
  845.                             {% for equipment in equipments %}
  846.                                 {% if app.request.locale == equipment.locale %}
  847.                                     <label class="checkbox">
  848.                                         {% if app.request.locale == 'ro' %}
  849.                                             <input class="equipmentCheckbox" type="checkbox" data-price="{{ equipment.price }}" data-id="{{ equipment.id }}" name="equipment[]" value="{{ equipment.id }}">
  850.                                             {{ equipment.name }} <strong>+{{ equipment.priceFormatted }}</strong>
  851.                                         {% else %}
  852.                                             <input class="equipmentCheckbox" type="checkbox" data-price="{{ equipment.price }}" data-id="{{ equipment.id }}" name="equipment[]" value="{{ equipment.id }}">
  853.                                             {{ equipment.name }} <strong>+{{ equipment.priceFormatted }}</strong>
  854.                                         {% endif %}
  855.                                     </label>
  856.                                 {% endif %}
  857.                             {% endfor %}
  858.                         {% endif %}
  859.                     </div>
  860.                     <!-- END OF SEAT TRIM DROPDOWN -->
  861.                     <!-- END OF DROPDOWNS SECTION -->
  862.                     <!-- START OF PICTOGRAMS -->
  863.                     {% if productData.priceCrossed is defined and productData.currencySign is defined and productData.priceCrossed %}
  864.                         <div class="column is-full is-size-7-tablet" style="margin-bottom:-30px;">
  865.                             <div class="level-left">
  866.                                 <div class="level-item">
  867.                                     {{ 'omnibus_text'|trans }}
  868.                                     {% if productData.omnibusPrice %}
  869.                                         {{ productData.omnibusPrice|formatPrice(language.currency) }}
  870.                                     {% else %}
  871.                                         {{ minPrice|formatPrice(language.currency) }}
  872.                                     {% endif %}
  873.                                 </div>
  874.                             </div>
  875.                         </div>
  876.                     {% endif %}
  877.                     <div class="column is-full is-size-7-tablet is-hidden-mobile zajawki">
  878.                         <div class="level is-mobile">
  879.                             {% if (product.availability and product.availability.id == 1) or (product.availability and product.availability.id == 15 and app.request.locale == 'pl') or (product.availability and product.availability.id == 12 and app.request.locale == 'pl') or (product.availability and product.availability.id == 5) %}
  880.                                 <div class="level-left" style="width: 30%">
  881.                                     <div class="level-item">
  882.                                         <img style="max-height: 4rem" class="margin-right-8" src="/v2/ico/24h_ico.png" alt="24h delivery">
  883.                                         <span>{{ 'products_in_24h_delivery_ico'|trans|raw }}</span>
  884.                                     </div>
  885.                                 </div>
  886.                             {% else %}
  887.                                 <div class="level-left" style="width: 30%">
  888.                                     <div class="level-item">
  889.                                         <img style="max-height: 4rem; max-width:50px;" class="margin-right-8" src="/v2/ico/ico_300_customers.svg" alt="300 000 customers">
  890.                                         <span>{{ 'text_300_customers_product_ico'|trans|raw }}</span>
  891.                                     </div>
  892.                                 </div>
  893.                             {% endif %}
  894.                             <div class="level-item" style="width: 36%;">
  895.                                 <img style="max-height: 4rem" class="margin-right-8" src="{{ staticImages[locale].freeDelivery }}" alt="">
  896.                                 <span>{{ 'free_delivery_return_product_ico'|trans|raw }}</span>
  897.                             </div>
  898.                             <div class="level-right" style="width: 33%">
  899.                                 <div class="level-item">
  900.                                     <img style="max-height: 4rem" class="margin-right-8" src="/v2/ico_pig_new.png" alt="">
  901.                                     <div style="max-width: 100px;">{{ 'price_with_negotiations'|trans|raw }}</div>
  902.                                 </div>
  903.                             </div>
  904.                             {#
  905.                             <div class="level-item" style="width: 36%">
  906.                                 <img style="max-height: 4rem" class="margin-right-8" src="{{ staticImages[locale].freeDelivery }}" alt="">
  907.                                 <span>{{ 'free_delivery_return'|trans|raw }}</span>
  908.                             </div>
  909.                             <div class="level-right" style="width: 33%">
  910.                                 <div class="level-item">
  911.                                     <img style="max-height: 4rem" class="margin-right-8" src="{{ staticImages[locale].onMarket }}" alt="">
  912.                                     <span>{{ 'gwarancja_ico'|trans|raw }}</span>
  913.                                 </div>
  914.                             </div>
  915.                             #}
  916.                         </div>
  917.                     </div>
  918.                     <!-- END OF PICTOGRAMS -->
  919.                     {% for marker in product.markers %}
  920.                         {% if marker.language.id == language.id and marker.content|length>0 %}
  921.                             <!-- START OF GREEN NOTIFICATION -->
  922.                             <div class="notification {{ marker.color }}-notification" style="margin-top:30px;">
  923.                                 <span class="icon">
  924.                                     <i class="fas fa-info-circle"></i>
  925.                                 </span>
  926.                                 <span class="has-text-weight-bold">
  927.                                     {{ marker.content|raw }}
  928.                                 </span>
  929.                             </div>
  930.                         {% endif %}
  931.                     {% endfor %}
  932.                     {% if product.getProducer(language.localeShort) %}
  933.                         {% for marker in product.getProducer(language.localeShort).markers %}
  934.                             {% if marker.language.id == language.id and marker.content|length>0 %}
  935.                                 <!-- START OF GREEN NOTIFICATION -->
  936.                                 <div class="notification {{ marker.color }}-notification" style="margin-top:30px;">
  937.                                     <!-- TODO: jak coś to wytnij z projektu i wstaw ikonkÄ™ -->
  938.                                     <span class="icon">
  939.                                     <i class="fas fa-info-circle"></i>
  940.                                 </span>
  941.                                     <span class="has-text-weight-bold">
  942.                                     {{ marker.content|raw }}
  943.                                 </span>
  944.                                 </div>
  945.                                 <!-- END OF GREEN NOTIFICATION -->
  946.                             {% endif %}
  947.                         {% endfor %}
  948.                     {% endif %}
  949.                     {% for marker in product.getLandingPagesMarkers %}
  950.                         {% if marker.language.id == language.id and marker.content|length>0 %}
  951.                             <!-- START OF GREEN NOTIFICATION -->
  952.                             <div class="notification {{ marker.color }}-notification" style="margin-top:30px;">
  953.                                 <!-- TODO: jak coś to wytnij z projektu i wstaw ikonkÄ™ -->
  954.                                 <span class="icon">
  955.                                 <i class="fas fa-info-circle"></i>
  956.                             </span>
  957.                                 <span class="has-text-weight-bold">
  958.                                 {{ marker.content|raw }}
  959.                             </span>
  960.                             </div>
  961.                             <!-- END OF GREEN NOTIFICATION -->
  962.                         {% endif %}
  963.                     {% endfor %}
  964.                     {#
  965.                     {% if markerConstant is defined and markerConstant and app.request.locale == 'ro' %}
  966.                         <div class="notification blue-notification" style="margin-top:30px; background-color:#f2f8ff; color: #3085e5">
  967.                             <!-- TODO: jak coś to wytnij z projektu i wstaw ikonkÄ™ -->
  968.                             <span class="has-text-weight-bold">
  969.                                 {{ markerConstant.content|raw }}
  970.                             </span>
  971.                         </div>
  972.                     {% endif %}
  973.                     #}
  974.                     <!-- START OF AMOUNT SECTION -->
  975.                     <div class="column is-full">
  976.                             {% if product.temporaryUnavailable %}
  977.                                 <div class="column is-full">
  978.                                     <div class="level-item">
  979.                                         <div>
  980.                                             <strong>
  981.                                                 {{ 'product_temp_unavailable'|trans }}
  982.                                             </strong>
  983.                                         </div>
  984.                                     </div>
  985.                                 </div>
  986.                                 <div id="notify_container">
  987.                                     <div class="column is-full">
  988.                                         <div class="level-left">
  989.                                             <div class="">
  990.                                                 {{ 'notify_me'|trans }}
  991.                                             </div>
  992.                                         </div>
  993.                                     </div>
  994.                                     <div class="column is-full">
  995.                                         <div class="">
  996.                                             <div class="field">
  997.                                                 <div class="control">
  998.                                                     <input type="text" placeholder="{{ 'your_email'|trans }}" id="notify_input" value="" class="input" style="padding:25px;">
  999.                                                     <div style="display: none; margin-top:10px; color:red; text-align: center" id="error_notify_container">
  1000.                                                         {{ 'please_enter_valid_email'|trans }}
  1001.                                                     </div>
  1002.                                                 </div>
  1003.                                             </div>
  1004.                                         </div>
  1005.                                     </div>
  1006.                                     <div class="column is-full">
  1007.                                         <div class="">
  1008.                                             <button type="button" class="button is-success has-text-weight-bold" id="notify-button" style="width:100%;">
  1009.                                                 {{ 'inform_me_about_availability_button'|trans }}
  1010.                                             </button>
  1011.                                         </div>
  1012.                                     </div>
  1013.                                 </div>
  1014.                             {% else %}
  1015.                                 <div class="level is-mobile">
  1016.                                     <div class="level-left">
  1017.                                         <div class="level-item">
  1018.                                             <div class="field">
  1019.                                                 <div class="control">
  1020.                                                     <input type="text" id="amount" value="1" class="input cool-shadow has-text-centered">
  1021.                                                 </div>
  1022.                                             </div>
  1023.                                         </div>
  1024.                                     </div>
  1025.                                     <div class="level-item">
  1026.                                         <button type="button" class="button is-success has-text-weight-bold" id="ask-button">
  1027.                                             {{ 'order_or_ask'|trans }}
  1028.                                         </button>
  1029.                                     </div>
  1030.                                 </div>
  1031.                             {% endif %}
  1032.                         <div class="column is-full">
  1033.                             <div class="notification is-danger cart-notification" style="text-align: center; display: none">
  1034.                                 {{ 'choose_aboce_parameters_first'|trans }}
  1035.                             </div>
  1036.                             <div class="notification is-danger cart-error-notification" style="text-align: center; display: none">
  1037.                             </div>
  1038.                         </div>
  1039.                     </div>
  1040.                     <!-- END OF AMOUNT SECTION -->
  1041.                     <!-- START OF ADD TO COMPARE -->
  1042.                     <div class="column is-full">
  1043.                         {% if app.request.locale == 'pl' and product.payu %}
  1044.                             <table style="margin-top:-20px; display: none" id="payuraty">
  1045.                                 <tr>
  1046.                                     <td style="width:40px;">
  1047.                                         <img style="cursor: pointer; margin-bottom:-18px;" id="payuLogo" src="https://poland.payu.com/wp-content/themes/global-website/assets/src/images/payu-logo.svg" hidden/>
  1048.                                     </td>
  1049.                                     <td style="width:4px;"></td>
  1050.                                     <td><p><span id="installment-mini"></span></p></td>
  1051.                                     <td><div style="font-size:15px; margin-top: 17px; padding-left:2px;">miesiÄ™cznie</div></td>
  1052.                                 </tr>
  1053.                             </table>
  1054.                             <script type="text/javascript">
  1055.                                 $(document).ready(function () {
  1056.                                     const button = document.getElementById('payuLogo');
  1057.                                     button.addEventListener('click', function handleClick() {
  1058.                                     });
  1059.                                     var value = {{ minPrice }};
  1060.                                     var options = {
  1061.                                         creditAmount: value,    // wartość jako number (w PLN)
  1062.                                         posId: 1056481,         // identyfikator punktu pÅ‚atnoÅ›ci
  1063.                                         key: 'e8',              // pierwsze dwa znaki klucza api
  1064.                                         showLongDescription: true,
  1065.                                     };
  1066.                                     window.OpenPayU.Installments.miniInstallment("#installment-mini", options)
  1067.                                         .then(function (result) {
  1068.                                             if (result.isWidgetAvailable) {
  1069.                                                 $('#payuraty').show();
  1070.                                                 $(document).on('click', '#payuLogo', function () {
  1071.                                                     result.openWidget();
  1072.                                                 });
  1073.                                                 $(document).on('click', '.payu-mini-installments-widget-amount', function () {
  1074.                                                     result.openWidget();
  1075.                                                 });
  1076.                                                 $(document).on('click', '.payu-mini-installments-widget-details', function () {
  1077.                                                     result.openWidget();
  1078.                                                 });
  1079.                                                 document.querySelector("#payuLogo").removeAttribute("hidden"); // wyÅ›wietla element
  1080.                                                 document.querySelector("#payuLogo").onclick = function () {
  1081.                                                     result.openWidget();
  1082.                                                 }; // dodaje akcjÄ™ na klikniÄ™cie
  1083.                                             } else {
  1084.                                                 $('#payuraty').hide();
  1085.                                             }
  1086.                                         })
  1087.                                         .catch(function (e) {
  1088.                                             console.error(e.toString());
  1089.                                         });
  1090.                                 });
  1091.                             </script>
  1092.                         {% endif %}
  1093.                         <label class="checkbox" style="margin-top:5px; font-size:14px;">
  1094.                             <input {% if compareIds is defined and product.id in compareIds %} checked="checked" {% endif %} type="checkbox"  data-removepath="{{ path('remove_compare') }}" data-path="{{ path('add_to_compare') }}" class="add_to_compare" data-product="{{ product.id }}" id="{{ product.id }}">
  1095.                             {{ 'add_to_compare'|trans }}
  1096.                         </label>
  1097.                         <br/>
  1098.                         {% if similarColors|length %}
  1099.                             <div class="has-text-weight-semibold">
  1100.                                 {{ 'similarColors'|trans }}
  1101.                             </div>
  1102.                             <div class="columns is-flex is-flex-wrap-nowrap is-align-items-center">
  1103.                                 {% for similarColor in similarColors|slice(0,5) %}
  1104.                                     {% set localProduct = similarColor[0] %}
  1105.                                     {% set localProductData = similarColor %}
  1106.                                     <div class="column is-narrow">
  1107.                                         <a href="{{ path('product', {'id':localProduct.id, 'slug':localProduct.slug}) }}">
  1108.                                             <img style="max-width: 100px;" data-main="{{ asset('/images/product/'~localProductData.mainPhoto~'') | imagine_filter('small') }}" src="/images/ajax-loader.gif" alt="{{ localProduct.name }}" class="lazy img-responsive small-photo" data-src="{{ asset('/images/product/'~localProductData.mainPhoto~'') | imagine_filter('small') }}" />
  1109.                                         </a>
  1110.                                     </div>
  1111.                                 {% endfor %}
  1112.                             </div>
  1113.                         {% endif %}
  1114.                     </div>
  1115.                     <!-- END OF ADD TO COMPARE -->
  1116.                 </div>
  1117.                 <!-- END OF SHORT DESCRIPTION -->
  1118.             </div>
  1119.             <hr class="hr">
  1120.         </div>
  1121.     </section>
  1122.     <!-- END OF MAIN SECTION -->
  1123.     <!-- START OF DETAIL DESCRIPTION SECTION -->
  1124.     {% set parametersIds = [] %}
  1125.     {% for variant in priceVariants %}
  1126.         {% if variant.parameterValueGroup.parameter.id not in parametersIds %}
  1127.             {% set parametersIds = parametersIds|merge([variant.parameterValueGroup.parameter.id]) %}
  1128.         {% endif %}
  1129.     {% endfor %}
  1130.     {% set shortFunctions = product.getShortFunctionDescription %}
  1131.     <section class="section">
  1132.         <div class="container">
  1133.             <div class="columns">
  1134.                 <!-- START OF SIDEBAR MENU SECTION -->
  1135.                 <div class="column is-one-fifth">
  1136.                     <affix class="sidebar-menu" relative-element-selector="#main_content">
  1137.                         <aside class="columns is-multiline">
  1138.                             <scrollactive active-class="active-scroll" :highlight-first-item="true">
  1139.                                 <!-- START SIDEBAR FOR DESKTOP -->
  1140.                                 <nav>
  1141.                                     {% if shortFunctions|length %}
  1142.                                         <div class="column is-full has-text-weight-semibold">
  1143.                                             <a href="#{{ 'tag_shortcut'|trans }}" class="scrollactive-item is-hidden-touch" style="color: #989898;">
  1144.                                                 {{ 'inShortcut'|trans }}
  1145.                                             </a>
  1146.                                         </div>
  1147.                                     {% endif %}
  1148.                                     <div class="column is-full has-text-weight-semibold">
  1149.                                         <a href="#{{ 'tag_models_features'|trans }}" class="modele_i_cechy scrollactive-item is-hidden-touch" style="color: #989898;">
  1150.                                             {{ 'functionsProductDescription'|trans }}
  1151.                                         </a>
  1152.                                     </div>
  1153.                                     {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_TEXTILE') in parametersIds %}
  1154.                                         <div class="column is-full has-text-weight-semibold">
  1155.                                             <a href="#{{ 'tag_material_textile'|trans }}" class="scrollactive-item is-hidden-touch" style="color: #989898;">
  1156.                                                 {{ 'materials_textiles'|trans }}
  1157.                                             </a>
  1158.                                         </div>
  1159.                                     {% endif %}
  1160.                                     {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD') in parametersIds %}
  1161.                                         <div class="column is-full has-text-weight-semibold">
  1162.                                             <a href="#{{ 'tag_material_wood'|trans }}" class="scrollactive-item is-hidden-touch" style="color: #989898;">
  1163.                                                 {{ 'materials_wood'|trans }}
  1164.                                             </a>
  1165.                                         </div>
  1166.                                     {% endif %}
  1167.                                     {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_NET') in parametersIds %}
  1168.                                         <div class="column is-full has-text-weight-semibold">
  1169.                                             <a href="#{{ 'tag_material_net'|trans }}" class="scrollactive-item is-hidden-touch" style="color: #989898;">
  1170.                                                 {{ 'material_net'|trans }}
  1171.                                             </a>
  1172.                                         </div>
  1173.                                     {% endif %}
  1174.                                     {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_KOLATKA_PINEZKA') in parametersIds %}
  1175.                                         <div class="column is-full has-text-weight-semibold">
  1176.                                             <a href="#{{ 'tag_materialy_kolatka'|trans }}" class="scrollactive-item is-hidden-touch" style="color: #989898;">
  1177.                                                 {{ 'materials_others'|trans }}
  1178.                                             </a>
  1179.                                         </div>
  1180.                                     {% endif %}
  1181.                                     {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD_LEGS') in parametersIds %}
  1182.                                         <div class="column is-full has-text-weight-semibold">
  1183.                                             <a href="#{{ 'tag_legs_wood'|trans }}" class="scrollactive-item is-hidden-touch" style="color: #989898;">
  1184.                                                 {{ 'material_wood_legs'|trans }}
  1185.                                             </a>
  1186.                                         </div>
  1187.                                     {% endif %}
  1188.                                     <div class="column is-full has-text-weight-semibold">
  1189.                                         <a href="#{{ 'tag_pricing'|trans }}" class="scrollactive-item is-hidden-touch" style="color: #989898;">
  1190.                                             {{ 'pricing'|trans }}
  1191.                                         </a>
  1192.                                     </div>
  1193.                                     {% if product.photo3d %}
  1194.                                         <div class="column is-full has-text-weight-semibold is-hidden-touch">
  1195.                                             <a href="#desc360" class="scrollactive-item" style="color: #989898;">{{ 'presentation_360'|trans }}</a>
  1196.                                         </div>
  1197.                                     {% endif %}
  1198.                                     {% if product.photo3dAdditional|length > 25 %}
  1199.                                         <div class="column is-full has-text-weight-semibold is-hidden-touch">
  1200.                                             <a href="#desc360Additional" class="scrollactive-item" style="color: #989898;">{{ 'presentation_360_additional'|trans }}</a>
  1201.                                         </div>
  1202.                                     {% endif %}
  1203.                                     {% if product.film %}
  1204.                                         <div class="column is-full has-text-weight-semibold is-hidden-touch">
  1205.                                             <a href="#film" class="scrollactive-item" style="color: #989898;">{{ 'film'|trans }}</a>
  1206.                                         </div>
  1207.                                     {% endif %}
  1208.                                     <div class="column is-full has-text-weight-semibold is-hidden-touch">
  1209.                                         <a href="#gallery" class="scrollactive-item" style="color: #989898;">{{ 'gallery'|trans }}</a>
  1210.                                     </div>
  1211.                                     <div class="column is-full has-text-weight-semibold is-hidden-touch">
  1212.                                         <a href="#podobne" class="scrollactive-item" style="color: #989898;">{{ 'similarProducs'|trans }}</a>
  1213.                                     </div>
  1214.                                     {% if app.request.locale == 'pl' %}
  1215.                                         {% if product.getActiveSubProducts.count and buyCheaperLP is defined and buyCheaperLP %}
  1216.                                             <div class="column is-full has-text-weight-semibold is-hidden-touch">
  1217.                                                 <a href="{{ path('landing-page-front', {'product':product.id, 'id':buyCheaperLP.id, 'slug':buyCheaperLP.slug}) }}" class="" style="color: red;">{{ 'buy_cheaper'|trans }}</a>
  1218.                                             </div>
  1219.                                         {% endif %}
  1220.                                     {% endif %}
  1221.                                     {% if product.getProducer(language.localeShort).responsibleEntity %}
  1222.                                         <div class="column is-full has-text-weight-semibold">
  1223.                                             <a href="javascript:void(0);" id="toggleDetails" class="scrollactive-item is-hidden-touch" style="color: rgb(152, 152, 152); display: flex; justify-content: space-between; align-items: center;">
  1224.                                                 {{ 'responsibleEntity_front_store'|trans }}
  1225.                                                 <span id="toggleIcon" class="icon">
  1226.                                                     <i class="fas fa-caret-down"></i>
  1227.                                                 </span>
  1228.                                             </a>
  1229.                                         </div>
  1230.                                         <!-- Hidden details div -->
  1231.                                         <div id="detailsSection" class="column is-full" style="display: none; padding-left: 20px; color: rgb(100, 100, 100);">
  1232.                                             {{ product.getProducer(language.localeShort).responsibleEntity|raw }}
  1233.                                         </div>
  1234.                                     {% endif %}
  1235.                                 </nav>
  1236.                                 <!-- END SIDEBAR FOR DESKTOP -->
  1237.                             </scrollactive>
  1238.                         </aside>
  1239.                     </affix>
  1240.                 </div>
  1241.                 <!-- END OF SIDEBAR MENU SECTION -->
  1242.                 <!-- START OF CONTENT SECTION -->
  1243.                 <div class="content-single-product column is-three-fifths-desktop is-four-fifths-tablet">
  1244.                     <div class="columns is-multiline main-content-mobile-up" id="main_content">
  1245.                         {% if shortFunctions|length %}
  1246.                             <div class="left-25" id="{{ 'tag_shortcut'|trans }}">
  1247.                                 <div class="column is-full">
  1248.                                     {{ shortFunctions|raw }}
  1249.                                 </div>
  1250.                             </div>
  1251.                         {% endif %}
  1252.                         <section-accordion :open="1" inline-template v-cloak>
  1253.                             <div class="column is-full" id="{{ 'tag_models_features'|trans }}">
  1254.                                 {% if shortFunctions|length %}
  1255.                                     <hr class="hr">
  1256.                                 {% endif %}
  1257.                                 <div class="level is-mobile" @click="toggleAccordion">
  1258.                                     <div class="level-left">
  1259.                                         <div class="level-item">
  1260.                                             <h3 class="title is-3">
  1261.                                                 {{ 'functionsProductDescription'|trans }}
  1262.                                             </h3>
  1263.                                         </div>
  1264.                                     </div>
  1265.                                     <div class="level-right">
  1266.                                         <div class="level-item" v-show="isMobile">
  1267.                                             <!-- down arrow / minus -->
  1268.                                             <span class="icon">
  1269.                                                 <i :class="isOpen ? 'fas fa-minus' : 'fas fa-chevron-down'"></i>
  1270.                                             </span>
  1271.                                         </div>
  1272.                                     </div>
  1273.                                 </div>
  1274.                                 <div class="divider2"></div>
  1275.                                 <!-- TODO: jakaÅ› klasa do zÅ‚apania -->
  1276.                                 <div :class="isMobile ? '' : 'left-25'" v-show="isOpen">
  1277.                                     {%  set desc = product.description|shortFunctionDescriptionFilter %}
  1278.                                     <ul class="removeDot">
  1279.                                         {% for row in desc %}
  1280.                                             {% if row|striptags|length>5 %}
  1281.                                             <li class="removeDot">
  1282.                                                     <div class="column is-full">
  1283.                                                         <span class="icon"><i class="fas fa-check has-text-success"></i></span>
  1284.                                                         {{ row|strongReplacer|raw }}
  1285.                                                     </div>
  1286.                                             </li>
  1287.                                             {% endif %}
  1288.                                         {% endfor %}
  1289.                                     </ul>
  1290.                                 </div>
  1291.                             </div>
  1292.                         </section-accordion>
  1293.                         {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_TEXTILE') in parametersIds %}
  1294.                             <section-accordion :open="0" inline-template v-cloak>
  1295.                                 <div class="column is-full" id="{{ 'tag_material_textile'|trans }}">
  1296.                                     <hr class="hr">
  1297.                                     <div class="level is-mobile" @click="toggleAccordion">
  1298.                                         <div class="level-left">
  1299.                                             <div class="level-item">
  1300.                                                 <h3 class="title is-3">
  1301.                                                     {{ 'textiles'|trans|capitalize }} ({{ 'count_variant_types'|trans({'%count%': groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_TEXTILE')]}) }})
  1302.                                                 </h3>
  1303.                                             </div>
  1304.                                         </div>
  1305.                                         <div class="level-right">
  1306.                                             <div class="level-item" v-show="isMobile">
  1307.                                                 <!-- down arrow / minus -->
  1308.                                                 <span class="icon">
  1309.                                                     <i :class="isOpen ? 'fas fa-minus' : 'fas fa-chevron-down'"></i>
  1310.                                                 </span>
  1311.                                             </div>
  1312.                                         </div>
  1313.                                     </div>
  1314.                                     <div class="divider2"></div>
  1315.                                     <div :class="isMobile ? '' : 'left-25'" v-show="isOpen">
  1316.                                         {% for variant in variantsArray %}
  1317.                                             {% if variant.parameter.id == constant('App\\Entity\\ProductParameter::CHOOSABLE_TEXTILE') %}
  1318.                                                 {% include 'frontend/product/_materialPresentation.html.twig' %}
  1319.                                             {% endif %}
  1320.                                         {% endfor %}
  1321.                                     </div>
  1322.                                 </div>
  1323.                             </section-accordion>
  1324.                         {% endif %}
  1325.                         {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD') in parametersIds %}
  1326.                             <section-accordion :open="0" inline-template v-cloak>
  1327.                                 <div class="column is-full" id="{{ 'tag_material_wood'|trans }}">
  1328.                                     <hr class="hr">
  1329.                                     <div class="level is-mobile" @click="toggleAccordion">
  1330.                                         <div class="level-left">
  1331.                                             <div class="level-item">
  1332.                                                 <h3 class="title is-3">
  1333.                                                     {{ 'wood'|trans|capitalize }} ({{ 'count_variant_types'|trans({'%count%': groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD')]}) }})
  1334.                                                 </h3>
  1335.                                             </div>
  1336.                                         </div>
  1337.                                         <div class="level-right">
  1338.                                             <div class="level-item" v-show="isMobile">
  1339.                                                 <!-- down arrow / minus -->
  1340.                                                 <span class="icon">
  1341.                                                     <i :class="isOpen ? 'fas fa-minus' : 'fas fa-chevron-down'"></i>
  1342.                                                 </span>
  1343.                                             </div>
  1344.                                         </div>
  1345.                                     </div>
  1346.                                     <div :class="isMobile ? '' : 'left-25'" v-show="isOpen">
  1347.                                         {% for variant in variantsArray %}
  1348.                                             {% if variant.parameter.id == constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD') %}
  1349.                                                 {% include 'frontend/product/_materialPresentation.html.twig' %}
  1350.                                             {% endif %}
  1351.                                         {% endfor %}
  1352.                                     </div>
  1353.                                 </div>
  1354.                             </section-accordion>
  1355.                         {% endif %}
  1356.                         {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_NET') in parametersIds %}
  1357.                             <section-accordion :open="0" inline-template v-cloak>
  1358.                                 <div class="column is-full" id="{{ 'tag_material_net'|trans }}">
  1359.                                     <hr class="hr">
  1360.                                     <div class="level is-mobile" @click="toggleAccordion">
  1361.                                         <div class="level-left">
  1362.                                             <div class="level-item">
  1363.                                                 <h3 class="title is-3">
  1364.                                                     {{ 'net'|trans|capitalize }} ({{ 'count_variant_types'|trans({'%count%': groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_NET')]}) }})
  1365.                                                 </h3>
  1366.                                             </div>
  1367.                                         </div>
  1368.                                         <div class="level-right">
  1369.                                             <div class="level-item" v-show="isMobile">
  1370.                                                 <!-- down arrow / minus -->
  1371.                                                 <span class="icon">
  1372.                                                     <i :class="isOpen ? 'fas fa-minus' : 'fas fa-chevron-down'"></i>
  1373.                                                 </span>
  1374.                                             </div>
  1375.                                         </div>
  1376.                                     </div>
  1377.                                     <div :class="isMobile ? '' : 'left-25'" v-show="isOpen">
  1378.                                         {% for variant in variantsArray %}
  1379.                                             {% if variant.parameter.id == constant('App\\Entity\\ProductParameter::CHOOSABLE_NET') %}
  1380.                                                 {% include 'frontend/product/_materialPresentation.html.twig' %}
  1381.                                             {% endif %}
  1382.                                         {% endfor %}
  1383.                                     </div>
  1384.                                 </div>
  1385.                             </section-accordion>
  1386.                         {% endif %}
  1387.                         {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_KOLATKA_PINEZKA') in parametersIds %}
  1388.                             <section-accordion :open="0" inline-template v-cloak>
  1389.                                 <div class="column is-full" id="{{ 'tag_materialy_kolatka'|trans }}">
  1390.                                     <hr class="hr">
  1391.                                     <div class="level is-mobile" @click="toggleAccordion">
  1392.                                         <div class="level-left">
  1393.                                             <div class="level-item">
  1394.                                                 <h3 class="title is-3">
  1395.                                                     {{ 'pins_kolatka'|trans|capitalize }} ({{ 'count_variant_types'|trans({'%count%': groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_KOLATKA_PINEZKA')]}) }})
  1396.                                                 </h3>
  1397.                                             </div>
  1398.                                         </div>
  1399.                                         <div class="level-right">
  1400.                                             <div class="level-item" v-show="isMobile">
  1401.                                                 <!-- down arrow / minus -->
  1402.                                                 <span class="icon">
  1403.                                                     <i :class="isOpen ? 'fas fa-minus' : 'fas fa-chevron-down'"></i>
  1404.                                                 </span>
  1405.                                             </div>
  1406.                                         </div>
  1407.                                     </div>
  1408.                                     <div :class="isMobile ? '' : 'left-25'" v-show="isOpen">
  1409.                                         {% for variant in variantsArray %}
  1410.                                             {% if variant.parameter.id == constant('App\\Entity\\ProductParameter::CHOOSABLE_KOLATKA_PINEZKA') %}
  1411.                                                 {% include 'frontend/product/_materialPresentation.html.twig' %}
  1412.                                             {% endif %}
  1413.                                         {% endfor %}
  1414.                                     </div>
  1415.                                 </div>
  1416.                             </section-accordion>
  1417.                         {% endif %}
  1418.                         {% if constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD_LEGS') in parametersIds %}
  1419.                             <section-accordion :open="0" inline-template v-cloak>
  1420.                                 <div class="column is-full" id="{{ 'tag_legs_wood'|trans }}">
  1421.                                     <hr class="hr">
  1422.                                     <div class="level is-mobile" @click="toggleAccordion">
  1423.                                         <div class="level-left">
  1424.                                             <div class="level-item">
  1425.                                                 <h3 class="title is-3">
  1426.                                                     {{ 'wood_legs'|trans }} ({{ 'count_variant_types'|trans({'%count%': groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD_LEGS')]}) }})
  1427.                                                 </h3>
  1428.                                             </div>
  1429.                                         </div>
  1430.                                         <div class="level-right">
  1431.                                             <div class="level-item" v-show="isMobile">
  1432.                                                 <!-- down arrow / minus -->
  1433.                                                 <span class="icon">
  1434.                                                     <i :class="isOpen ? 'fas fa-minus' : 'fas fa-chevron-down'"></i>
  1435.                                                 </span>
  1436.                                             </div>
  1437.                                         </div>
  1438.                                     </div>
  1439.                                     <div :class="isMobile ? '' : 'left-25'" v-show="isOpen">
  1440.                                         {% for variant in variantsArray %}
  1441.                                             {% if variant.parameter.id == constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD_LEGS') %}
  1442.                                                 {% include 'frontend/product/_materialPresentation.html.twig' %}
  1443.                                             {% endif %}
  1444.                                         {% endfor %}
  1445.                                     </div>
  1446.                                 </div>
  1447.                             </section-accordion>
  1448.                         {% endif %}
  1449.                         <div class="column is-full" id="{{ 'tag_pricing'|trans }}">
  1450.                             <hr class="hr">
  1451.                             <h2 class="title is-3">
  1452.                                 {{ 'pricing'|trans }}
  1453.                             </h2>
  1454.                             <div class="divider"></div>
  1455.                             {% if product.shippingCategory and app.request.locale == 'pl' %}
  1456.                                 {% set sc = product.shippingCategory~'_store' %}
  1457.                                 <h4 style="margin-bottom:20px;">
  1458.                                     {{ sc|trans }}
  1459.                                 </h4>
  1460.                             {% endif %}
  1461.                             <div class="pricingContainer">
  1462.                                 {% if product.isVariants == 1 and groupCounter|length > 0 %}
  1463.                                     <table class="ck-table">
  1464.                                         <tr>
  1465.                                             <td></td>
  1466.                                             {% if groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_TEXTILE')] is defined %}
  1467.                                                 <th style="text-align: center; padding-top:10px;" colspan="{{ groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_TEXTILE')] }}">{{ 'available_materials'|trans }}</th>
  1468.                                             {% elseif groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD')] is defined %}
  1469.                                                 <th style="text-align: center; padding-top:10px;" colspan="{{ groupCounter[constant('App\\Entity\\ProductParameter::CHOOSABLE_WOOD')] }}">{{ 'available_materials'|trans }}</th>
  1470.                                             {% endif %}
  1471.                                         </tr>
  1472.                                         <tr>
  1473.                                             <th style="text-align: center">{{ 'version'|trans }}</th>
  1474.                                             {% for price in pricing|slice(0,1) %}
  1475.                                                 {% for textile in price.tkaniny %}
  1476.                                                     {% if textile.parameter.id in [9,23,55,121,126,124,37,22] %}
  1477.                                                         {% if textile.parameterValueGroup %}
  1478.                                                             <th style="text-align:center;"><a href="{{ path('textileDescription', {'id':textile.parameterValueGroup.id}) }}">{{ textile.parameterValueGroup.name }}</a></th>
  1479.                                                         {% else %}
  1480.                                                             <th style="text-align:center;">{{ textile.parameterValue.name }}</th>
  1481.                                                         {% endif %}
  1482.                                                     {% endif %}
  1483.                                                 {% endfor %}
  1484.                                             {% endfor %}
  1485.                                         </tr>
  1486.                                             {% for price in pricing %}
  1487.                                                 <tr>
  1488.                                                     <td style="">{{ price.wersja.name }}</td>
  1489.                                                     {% for textile in price.tkaniny %}
  1490.                                                         {% if textile.parameter.id in [9,23,55,121,126,124,37,22] %}
  1491.                                                             <td style="text-align:center;overflow: hidden;white-space: nowrap; vertical-align: middle">{{ textile.productPrice.priceGross(vat)|formatPrice(textile.productPrice.currency) }}</td>
  1492.                                                         {% endif %}
  1493.                                                     {% endfor %}
  1494.                                                 </tr>
  1495.                                             {% endfor %}
  1496.                                     </table>
  1497.                                 {% elseif productPrices|length>1 %}
  1498.                                     <table class="ck-table" style="max-width: 650px;">
  1499.                                         {% for productPrice in productPrices %}
  1500.                                             {% if productPrice.variants|length == 1 %}
  1501.                                                 <tr>
  1502.                                                     <th style="text-align: center; width:30%;">
  1503.                                                         {% for variants in productPrice.variants %}
  1504.                                                             {{ variants.parameterValue.name }}
  1505.                                                         {% endfor %}
  1506.                                                     </th>
  1507.                                                     <td style="width: 90%; text-align: center; padding-top:19px;">
  1508.                                                         {{ productPrice.getPriceGross(vat)|formatPrice(language.currency) }}
  1509.                                                     </td>
  1510.                                                 </tr>
  1511.                                             {% endif %}
  1512.                                         {% endfor %}
  1513.                                     </table>
  1514.                                 {% else %}
  1515.                                     <table class="ck-table" style="max-width: 650px;">
  1516.                                         <tr>
  1517.                                             <th style="text-align: center; width:30%;">
  1518.                                                 {{ product.name }}
  1519.                                             </th>
  1520.                                             <td style="width: 90%; text-align: center; padding-top:19px;">
  1521.                                                 {% for price in productPrices|slice(0,1) %}
  1522.                                                     {{ price.getPriceGross(vat, language.roundingPrecision, true)|formatPrice(language.currency) }}
  1523.                                                 {% endfor %}
  1524.                                             </td>
  1525.                                         </tr>
  1526.                                     </table>
  1527.                                 {% endif %}
  1528.                             </div>
  1529.                         </div>
  1530.                         {#
  1531.                         <div class="column is-full is-hidden-touch pytania">
  1532.                             <div class="is-size-4 is-600 is-red has-text-centered is-3 ">
  1533.                                 Masz pytanie? ZadzwoÅ„
  1534.                                 <span class=""><i class="fas fa-phone"></i> 801 044 034</span>
  1535.                             </div>
  1536.                             <div class="is-size-5 has-text-centered">
  1537.                                 Infolinia - Czynna dziÅ› do 16:00
  1538.                             </div>
  1539.                         </div>
  1540.                         #}
  1541.                         {% if product.photo3d %}
  1542.                             <div class="column is-full" id="desc360">
  1543.                                 <hr class="hr">
  1544.                                 <h2 class="title is-3">
  1545.                                     {{ 'presentation360'|trans }}
  1546.                                 </h2>
  1547.                                 <div class="left-25 descriptionDiv">
  1548.                                     {{ product.photo3d|raw }}
  1549.                                 </div>
  1550.                             </div>
  1551.                         {% endif %}
  1552.                         {% if product.photo3dAdditional|length > 25 %}
  1553.                             <div class="column is-full" id="desc360Additional">
  1554.                                 <hr class="hr">
  1555.                                 <h2 class="title is-3">
  1556.                                     {{ 'presentation_360_additional'|trans }}
  1557.                                 </h2>
  1558.                                 <div class="left-25 descriptionDiv">
  1559.                                     {{ product.photo3dAdditional|raw }}
  1560.                                 </div>
  1561.                             </div>
  1562.                         {% endif %}
  1563.                         {% if product.film %}
  1564.                             <div class="column is-full descriptionDiv" id="film">
  1565.                                 <hr class="hr">
  1566.                                 <h2 class="title is-3">
  1567.                                     {{ 'film'|trans }}
  1568.                                 </h2>
  1569.                                 <div class="left-25 video-container" itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
  1570.                                     {{ product.film|raw }}
  1571.                                     <span style="display: none" itemprop="name">{{ 'product_presentation'|trans }} {{ product.name }} - {{ product.getProducer(language.localeShort).name }}</span>
  1572.                                     <span style="display: none" itemprop="description">{{ product.shortDescription }}</span>
  1573.                                     <span style="display: none" itemprop="uploadDate">{{ product.createdAt|date('Y-m-d') }}</span>
  1574.                                     {% set imgShow = 0 %}
  1575.                                     {% for image in product.photos %}
  1576.                                         {% if image.main == 1 and imgShow == 0 %}
  1577.                                             <span style="display: none" itemprop="thumbnailUrl">{{ language.storeUrl }}/images/product/{{ image.imageName }}</span>
  1578.                                             {% set imgShow = 1 %}
  1579.                                         {% endif %}
  1580.                                     {% endfor %}
  1581.                                 </div>
  1582.                             </div>
  1583.                         {% endif %}
  1584.                         <div class="column is-full descriptionDiv" id="gallery">
  1585.                             <hr class="hr">
  1586.                             <h2 class="title is-3">
  1587.                                 {{ 'gallery'|trans }}
  1588.                             </h2>
  1589.                             <div class="left-25">
  1590.                                 <div class="columns is-multiline">
  1591.                                     {% for photo in product.photos %}
  1592.                                         {% if photo.getIsAvailableForLang(language) %}
  1593.                                             <div class="column is-one-third" style="float: left; padding:0px;">
  1594.                                                 <a id="{{ photo.id }}" class="modal-button" data-href="{{ path('load_gallery_image', {'id':photo.id}) }}" data-target="modal" aria-haspopup="true">
  1595.                                                     <img {% if photo.alt %}alt="{{ photo.alt }}"{% endif %} style="max-height:210px;" src="{{ language.storeUrl }}/images/product/{{ photo.imageName }}"/>
  1596.                                                 </a>
  1597.                                                 <div style="font-size:14px; width: 130px;">
  1598.                                                     {{ photo.getTranslatedDescription(app.request.locale) }}
  1599.                                                 </div>
  1600.                                             </div>
  1601.                                         {% endif %}
  1602.                                     {% endfor %}
  1603.                                     <div style="clear: both"></div>
  1604.                                 </div>
  1605.                             </div>
  1606.                         </div>
  1607.                         {% if comments|length %}
  1608.                             <div class="column is-full descriptionDiv" id="comments">
  1609.                                 <hr class="hr">
  1610.                                 <h2 class="title is-3" style="margin-left:-5px;">
  1611.                                     {{ 'comments_front_txt_title'|trans }}
  1612.                                 </h2>
  1613.                                 <div class="left-25">
  1614.                                     <div class="columns is-multiline">
  1615.                                         <div class="column is-full" style="margin-bottom: 20px; margin-top:10px;">
  1616.                                             <div class="is-mobile">
  1617.                                                 <div class="level-left">
  1618.                                                     {{ 'average_rating'|trans }} &nbsp; <strong>{{ rating|round(2) }}/5</strong> &nbsp;  &nbsp; <span id="rateit" data-rateit-readonly="true" data-rateit-value="{{ rating }}" data-readonly="true" data-rateit-ispreset="true" data-rateit-mode="font" style="font-size:20px" class="rateit hide-mobile"></span> &nbsp;
  1619.                                                     {% if comments|length == 1 %}
  1620.                                                         &nbsp; (1 {{ 'single_opinion'|trans }})
  1621.                                                     {% elseif (comments|length == 2 or comments|length == 3 or comments|length == 4) %}
  1622.                                                         &nbsp; ({{ comments|length }} {{ 'pl_two_three_fours_opinions_lexical'|trans }})
  1623.                                                     {% else %}
  1624.                                                         &nbsp; ({{ comments|length }} {{ 'opinions'|trans }})
  1625.                                                     {% endif %}
  1626.                                                 </div>
  1627.                                             </div>
  1628.                                         </div>
  1629.                                         <div style="color:red; cursor: pointer" id="show_comments_button">
  1630.                                             {{ 'show_comments'|trans }} <i class="fa fa-arrow-circle-down"></i>
  1631.                                         </div>
  1632.                                         <div id="comment_container" style="display: none">
  1633.                                             <div itemscope itemtype="https://schema.org/Product">
  1634.                                                 <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
  1635.                                                     {% if pProduct.getProducer(language.localeShort) %}
  1636.                                                         <meta itemprop="name" content="{{ pProduct.getProducer(language.localeShort).name }}" />
  1637.                                                     {% endif %}
  1638.                                                 </div>
  1639.                                                 <meta itemprop="description" content="{{ product.description|striptags|slice(0,200) }}" />
  1640.                                                 <meta itemprop="sku" content="{{ product.id }}" />
  1641.                                                 {% set imgShow = 0 %}
  1642.                                                 {% for image in product.photos %}
  1643.                                                     {% if image.main == 1 and imgShow == 0 %}
  1644.                                                         <img style="visibility: hidden; left:-1000px; position: absolute;" itemprop="image" src="{{ language.storeUrl }}/images/product/{{ image.imageName }}"/>
  1645.                                                         {% set imgShow = 1 %}
  1646.                                                     {% endif %}
  1647.                                                 {% endfor %}
  1648.                                                 <span style="visibility: hidden; left:-1000px; position: absolute" itemprop="name">{{ product.name }}</span>
  1649.                                                 <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>
  1650.                                                     <meta itemprop="reviewCount" content="{{ comments|length }}" />
  1651.                                                     <span itemprop="ratingValue" content="{{ rating|round(2) }}"></span>
  1652.                                                 </div>
  1653.                                                 <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
  1654.                                                     {% if language.id == 1 %}
  1655.                                                         <link itemprop="url" href="https://www.centrumkrzesel.pl{{ path('product', {'id':product.id, 'slug':product.slug}, false) }}" />
  1656.                                                     {% endif %}
  1657.                                                     <meta itemprop="availability" content="https://schema.org/InStock" />
  1658.                                                     {% if language.id == 1 %}
  1659.                                                         <meta itemprop="priceCurrency" content="PLN" />
  1660.                                                     {% endif %}
  1661.                                                     {% if language.id == 2 %}
  1662.                                                         <meta itemprop="priceCurrency" content="CZK" />
  1663.                                                     {% endif %}
  1664.                                                     {% if language.id == 3 %}
  1665.                                                         <meta itemprop="priceCurrency" content="EUR" />
  1666.                                                     {% endif %}
  1667.                                                     {% if language.id == 4 %}
  1668.                                                         <meta itemprop="priceCurrency" content="RON" />
  1669.                                                     {% endif %}
  1670.                                                     <meta itemprop="itemCondition" content="https://schema.org/NewCondition" />
  1671.                                                     <meta itemprop="price" content="{{ minPrice }}" />
  1672.                                                     <meta itemprop="priceValidUntil" content="{{ 'now'|date('Y')+1 }}-{{ 'now'|date('m') }}-{{ 'now'|date('d') }}" />
  1673.                                                 </div>
  1674.                                                 {% for comment in comments %}
  1675.                                                     <div itemprop="review" itemscope itemtype="https://schema.org/Review">
  1676.                                                         <span itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
  1677.                                                           <span itemprop="ratingValue" style="position: absolute; margin-left: -2000px;">{{ comment.opinionRate }}</span>
  1678.                                                         </span>
  1679.                                                         <meta itemprop="datePublished" content="{{ comment.createdAt|date('Y-m-d') }}">
  1680.                                                         <div class="level is-mobile">
  1681.                                                             <div class="level-left" style="width: 10%;">
  1682.                                                                 <div class="author-container " style="width: 52px!important;">
  1683.                                                                     <div style="margin:auto; font-size: 20px; background-color: {{ random(['#ffb213', '#b390f1', '#785d55', '#ee8260', '#5abe10']) }}; width: 30px; height: 30px;" class="author-circle">
  1684.                                                                         <span>{{ comment.user.firstname|slice(0,1)|upper }}</span>
  1685.                                                                     </div>
  1686.                                                                 </div>
  1687.                                                             </div>
  1688.                                                             <div class="level-left" style="width: 90%;">
  1689.                                                                 <div class="level-item level-item-name" style="justify-content: left;">
  1690.                                                                     <span itemprop="author" itemscope itemtype="https://schema.org/Person">
  1691.                                                                         <strong><span itemprop="name">{{ comment.user.firstname }}</span></strong>
  1692.                                                                     </span>
  1693.                                                                     &nbsp;
  1694.                                                                     &nbsp;
  1695.                                                                     <span style="color:grey; font-size:13px;">
  1696.                                                                         {{ comment.createdAt|date('Y-m-d') }}
  1697.                                                                     </span>
  1698.                                                                     &nbsp; &nbsp; &nbsp; <span id="rateit" data-rateit-readonly="true" data-rateit-value="{{ comment.opinionRate }}" data-readonly="true" data-rateit-ispreset="true" data-rateit-mode="font" style="font-size:20px" class="rateit"></span>
  1699.                                                                 </div>
  1700.                                                             </div>
  1701.                                                         </div>
  1702.                                                         <div class="column is-full" style="margin-bottom: 20px;">
  1703.                                                             <div class="level is-mobile">
  1704.                                                                 <div class="level-left" style="width: 9%;">
  1705.                                                                 </div>
  1706.                                                                 <div class="level-left content-comment" style="width: 92.5%; display: block">
  1707.                                                                     {{ comment.content }}
  1708.                                                                     {% if comment.imageName %}
  1709.                                                                         <br/>
  1710.                                                                         <div>
  1711.                                                                             <img style="max-width: 600px; margin-top:10px;" src="{{ asset('/images/important/'~comment.imageName~'') | imagine_filter('smallProdImage') }}" alt="{{ product.name }} {{ 'customer_photo'|trans|lower }} {{ comment.user.firstname }}">
  1712.                                                                         </div>
  1713.                                                                     {% endif %}
  1714.                                                                 </div>
  1715.                                                             </div>
  1716.                                                         </div>
  1717.                                                     </div>
  1718.                                                 {% endfor %}
  1719.                                             </div>
  1720.                                         </div>
  1721.                                         <div style="clear: both"></div>
  1722.                                     </div>
  1723.                                 </div>
  1724.                             </div>
  1725.                         {% endif %}
  1726.                     </div>
  1727.                 </div>
  1728.                 <!-- END OF CONTENT SECTION -->
  1729.                 <!-- START OF RIGHT (EMPTY) SECTION -->
  1730.                 <div class="column is-one-fifth-desktop is-hidden-touch">
  1731.                 </div>
  1732.                 <!-- END OF RIGHT (EMPTY) SECTION -->
  1733.             </div>
  1734.             <div class="columns">
  1735.                 <div class="column">
  1736.                     <div class="columns">
  1737.                         <div class="column is-two-third is-offset-one-fifths is-hidden-touch pytania">
  1738.                             <div class="is-size-4 is-600 has-text-centered is-3 ">
  1739.                                 {{ 'have_question_call'|trans }}
  1740.                                 <span class=""><i class="fas fa-phone"></i> {{ language.helpline }}</span>
  1741.                             </div>
  1742.                             {% if helplineHours %}
  1743.                                 <div class="is-size-5 has-text-centered">
  1744.                                     {{ 'call_center_work_hours'|trans }}: {{ helplineHours.name }}
  1745.                                 </div>
  1746.                             {% endif %}
  1747.                         </div>
  1748.                     </div>
  1749.                     {% if family|length %}
  1750.                         <div class="section">
  1751.                             <div class="container">
  1752.                                 <h4 class="subtitle is-4 mobile-spacer has-text-centered">
  1753.                                     {{ 'productsFromFamily'|trans }}
  1754.                                 </h4>
  1755.                                 <div class="columns is-multiline is-mobile lista-produktow">
  1756.                                     {% set c = 0 %}
  1757.                                     {% for productRow in family %}
  1758.                                         {% set product = productRow[0] %}
  1759.                                         {% set productData = productRow %}
  1760.                                         {% if c < 4 %}
  1761.                                             {% set c = c + 1 %}
  1762.                                             {% include 'frontend/components/smallProduct.html.twig' with {'cssClass':'card-homepage', 'isOneQuarter':1, 'product':product, 'productData':productData} %}
  1763.                                         {% endif %}
  1764.                                     {% endfor %}
  1765.                                 </div>
  1766.                             </div>
  1767.                         </div>
  1768.                     {% endif %}
  1769.                     {% if recommendations|length %}
  1770.                         <div class="section" id="podobne">
  1771.                             <div class="container">
  1772.                                 <h4 class="subtitle is-4 mobile-spacer has-text-centered">
  1773.                                     {{ 'similarProductsFull'|trans }}
  1774.                                 </h4>
  1775.                                 <div class="columns is-multiline is-mobile lista-produktow">
  1776.                                     {% set c = 0 %}
  1777.                                     {% for productRow in recommendations %}
  1778.                                         {% set product = productRow[0] %}
  1779.                                         {% set productData = productRow %}
  1780.                                         {% if c < 4 %}
  1781.                                             {% set c = c + 1 %}
  1782.                                             {% include 'frontend/components/smallProduct.html.twig' with {'cssClass':'card-homepage', 'isOneQuarter':1, 'product':product, 'productData':productData} %}
  1783.                                         {% endif %}
  1784.                                     {% endfor %}
  1785.                                 </div>
  1786.                             </div>
  1787.                         </div>
  1788.                     {% endif %}
  1789.                 </div>
  1790.             </div>
  1791.         </div>
  1792.     </section>
  1793.     <!-- END OF DETAIL DESCRIPTION SECTION -->
  1794.     <!-- START OF FOOTER -->
  1795.     </div>
  1796.     {% if app.request.locale == 'pl' %}
  1797.         <script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
  1798.         <script type="text/javascript">
  1799.             window.criteo_q = window.criteo_q || [];
  1800.             var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
  1801.             window.criteo_q.push(
  1802.                 { event: "setAccount", account: 36267 },
  1803.                 { event: "setEmail", email: "{% if app.user.email is defined %} {{ app.user.email }} {% endif %}" },
  1804.                 { event: "setSiteType", type: deviceType },
  1805.                 { event: "viewItem", item: "{{ pProduct.id }}" }
  1806.             );
  1807.         </script>
  1808.     {% endif %}
  1809.     <script>
  1810.         window.dataLayer = window.dataLayer || [];
  1811.         window.dataLayer.push({
  1812.             event: 'view_item',
  1813.             currency: '{{ language.getGa4Code }}',
  1814.             value: '{{ minPrice }}',
  1815.             ecommerce: {
  1816.                 items: [{
  1817.                     item_name: '{{ pProduct.name }}',
  1818.                     item_id: '{{ pProduct.id }}',
  1819.                     currency: '{{ language.getGa4Code }}',
  1820.                     price: '{{ minPrice }}',
  1821.                     {% if pProduct.productProducer %}
  1822.                         item_brand: '{{ pProduct.productProducer.name }}',
  1823.                     {% endif %}
  1824.                     quantity: '1'
  1825.                 }]
  1826.             }
  1827.         });
  1828.     </script>
  1829.     <div class="modal" id="modal">
  1830.         <div class="modal-background"></div>
  1831.         <div class="modal-card">
  1832.             <header class="modal-card-head">
  1833.                 <p class="modal-card-title">{{ pProduct.name }}</p>
  1834.                 <button class="delete" style="float: right" aria-label="close"></button>
  1835.             </header>
  1836.             <section class="modal-card-body">
  1837.                 <!-- Content ... -->
  1838.             </section>
  1839.             <footer class="modal-card-foot">
  1840.                 <button class="button">{{ 'close'|trans }}</button>
  1841.             </footer>
  1842.         </div>
  1843.     </div>
  1844. {% endblock %}