templates/bundles/SyliusShopBundle/Product/Show/_images.html.twig line 1

Open in your IDE?
  1. {% if product.imagesByType('main') is not empty %}
  2.     {% set source_path = product.imagesByType('main').first.path %}
  3.     {% set original_path = source_path|imagine_filter('sylius_shop_product_original') %}
  4.     {% if is_mobile() %}
  5.         {% set path = source_path|imagine_filter('hyfindr_product_mobile_thumbnail') %}
  6.     {% else %}
  7.         {% set path = source_path|imagine_filter(filter|default('hyfindr_product_large_thumbnail')) %}
  8.     {% endif %}
  9. {% elseif product.images.first %}
  10.     {% set source_path = product.images.first.path %}
  11.     {% set original_path = source_path|imagine_filter('sylius_shop_product_original') %}
  12.     {% if is_mobile() %}
  13.         {% set path = source_path|imagine_filter('hyfindr_product_mobile_thumbnail') %}
  14.     {% else %}
  15.         {% set path = source_path|imagine_filter(filter|default('hyfindr_product_large_thumbnail')) %}
  16.     {% endif %}
  17. {% else %}
  18.     {% set original_path = asset('assets/shop/img/400x300.png') %}
  19.     {% set path = original_path %}
  20. {% endif %}
  21. {% if is_mobile() %}
  22.     <div class="swiper pdp-Swiper swiper-initialized swiper-horizontal swiper-ios swiper-backface-hidden">
  23.         <div class="swiper-wrapper-pdp">
  24.             {% for image in product.images %}
  25.                 <div class="swiper-slide slide_1" role="group">
  26.                     <a href="{{ image.path|imagine_filter('sylius_shop_product_original') }}" data-lightbox="sylius-product-image">
  27.                         <img src="{{ image.path|imagine_filter('hyfindr_product_mobile_thumbnail') }}" alt="Slide Image">
  28.                     </a>
  29.                 </div>
  30.             {% endfor %}
  31.         </div>
  32.         <div class="swiper-pagination swiper-pagination-clickable swiper-pagination-bullets swiper-pagination-horizontal"></div>
  33.         <span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
  34.     </div>
  35. {% else %}
  36.     <div class="product-images">
  37.         {# <div data-product-image="{{ path }}" data-product-link="{{ original_path }}"></div> #}
  38.         <a href="{{ original_path }}" data-lightbox="sylius-product-image" id="main-image-container">
  39.             <img src="{{ path }}" id="main-image" alt="{{ product.name }}" {{ sylius_test_html_attribute('main-image') }} />
  40.         </a>
  41.         {% if product.images|length > 1 %}
  42.             {{ sylius_template_event('sylius.shop.product.show.before_thumbnails', {'product': product}) }}
  43.             <div class="image-thumbnails">
  44.                 {% for image in product.images %}
  45.                     {% set path = image.path is not null ? image.path|imagine_filter('sylius_shop_product_small_thumbnail') : asset('assets/shop/img/200x200.png') %}
  46.                     <div class="ui image">
  47.                         {% if product.isConfigurable() and product.enabledVariants|length > 0 %}
  48.                             {% include '@SyliusShop/Product/Show/_imageVariants.html.twig' %}
  49.                         {% endif %}
  50.                         <a href="{{ image.path|imagine_filter('sylius_shop_product_original') }}" data-lightbox="sylius-product-image">
  51.                             <img src="{{ path }}" data-large-thumbnail="{{ image.path|imagine_filter('sylius_shop_product_large_thumbnail') }}" alt="{{ product.name }}" class="{{ loop.index > 1 ? 'product-image-inactive' : '' }}"/>
  52.                         </a>
  53.                     </div>
  54.                 {% endfor %}
  55.             </div>
  56.         {% endif %}
  57.     </div>
  58. {% endif %}
  59. <style>
  60. #main-image-container {
  61.     width: 100%; 
  62.     height: 412px; 
  63.     overflow: hidden;
  64. }
  65. #main-image {
  66.     width: 100%; 
  67.     height: 100%; 
  68.     object-fit: contain;
  69. }
  70. </style>