custom/plugins/SteincoTheme/src/Resources/views/storefront/page/product-detail/index.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/page/product-detail/index.html.twig' %}
  2. {% block base_content %}
  3.     {% set isRolle = (page.product is sc_rolle()) %}
  4.     {% set isZubehoer = (page.product is sc_zubehoer()) %}
  5.     {% block page_product_detail %}
  6. {# (page.product.tags|first).name|default('Kein Tag vorhanden') #}
  7.         {# dump( page.product) #}
  8.     {% set properties = page.product.extensions.properties.property_options %}
  9.     {% set imgPhoto = "" %}
  10.     {% set img2D = "" %}
  11.     {% set imgFitting = "" %}
  12.     {% set img3D = (isRolle or isZubehoer) ? "check" : null %}
  13.     {% set mediaItems = page.product.media %}
  14.     {% set altPhoto = "" %}
  15.     {% set alt2D = "" %}
  16.     {% set altFitting = "" %}
  17.     {% set pos = 0 %}
  18.     {% for image in mediaItems|sort((a, b) => a.position <=> b.position) %}
  19.         {% set pos = pos + 1 %}
  20.         {% if pos == 1 %}
  21.             {# the photo #}
  22.             {% set imgPhoto = image.media.url %}
  23.         {% endif %}
  24.         {% if pos == 2 %}
  25.             {# the 2d drawing  #}
  26.             {% set img2D = image.media.url %}
  27.             {% set alt2D = altPhoto ~ ", " ~ "steinco.productDetail.drawing.2D"|trans|sw_sanitize %}
  28.         {% endif %}
  29.         {% if pos == 3 %}
  30.             {# the fitting drawing  #}
  31.             {% set imgFitting = image.media.url %}
  32.             {% if isZubehoer %}
  33.                 {% set altFitting = altPhoto ~ ", " ~ "steinco.application"|trans|sw_sanitize %}
  34.             {% else %}
  35.                 {% set altFitting = altPhoto ~ ", " ~ "steinco.productDetail.drawing.fitting"|trans|sw_sanitize %}
  36.             {% endif %}
  37.         {% endif %}
  38.     {% endfor %}
  39.     {% if showPrices %}
  40.         {# create a JS array to hold all prices #}
  41.         <script>
  42.             {% set prices = page.product.calculatedPrices %}
  43.             {% set quantity = 1 %}
  44.             const priceScale = [];
  45.             {% for price in prices|sort((a, b) => a.quantity <=> b.quantity) %}
  46.                 priceScale.push([{{ quantity }}, '{{ price.unitPrice|currency }}']);
  47.                 {% set quantity = price.quantity + 1 %} {# start der nächsten Rabattstufe #}
  48.             {% endfor %}
  49.         </script>
  50.     {%  endif %}
  51.     {# TODO: page reload triggered by id 'sc-productDetailPage' always fires: "div id="sc-productDetailPage" class="row ge scsw-product-detail mt-5" #}
  52.     {% block sc_page_info %}
  53.     {# set <sc-page-info> to generate seo-path independent links in the language menu #}
  54.         {# this is done in steinco.js (TYPO3), function adjustLang(snippet) #}
  55.     <sc-page-info path="{{path('frontend.home.page')}}detail/{{page.product.id}}"/>
  56.     {% endblock %}
  57.     <div id="sc-productDetailPage" class="row ge scsw-product-detail mt-5">
  58.             <div class="col-xl-6 col-lg-6 col-md-12 col-12 scsw-pd-image">
  59.                 {% block page_product_detail_main %}
  60.                     {# removed #}
  61.                 {%  endblock %}
  62.                 {% block page_product_detail_media %}
  63.                     {% if mediaItems|length > 0 %}
  64.                         <div
  65.                             style="width: 100%; height: auto;">
  66.                             {# define the image fullscreen overlay #}
  67.                             <div
  68.                                 id="scswOverlay" class="scsw-img-overlay">
  69.                                 {# Button to close the overlay navigation #}
  70.                                 <div id="scswOverlayHeading" class="scsw-overlay-heading" style="display: none;">
  71.                                     <h2>
  72.                                         {% sw_include '@SteincoTheme/storefront/utilities/sc-product-title.html.twig' with { prod: product } %}
  73.                                         <span style="font-weight: 400">
  74.                                             {{ "steinco.product"|trans|sw_sanitize }}:
  75.                                             {{page.product.productNumber}}
  76.                                         </span>
  77.                                     </h2>
  78.                                     <a href="#0" class="scsw-closebtn" onclick="closeOverlay();">&times;</a>
  79.                                 </div>
  80.                                 <div id="scswOverlayActions" class="scsw-overlay-actions">
  81.                                     {% set classBtnDownload = "btn btn-block btn-buy" %}
  82.                                     {% set onClick = "onclick" %}
  83.                                     {% if not context.customer %}
  84.                                         {% set classBtnDownload = classBtnDownload ~ " disabled" %}
  85.                                         {% set onClick = "noclick" %}
  86.                                     {% else %}
  87.                                         {% set classBtnDownload = classBtnDownload ~ " btn-primary" %}
  88.                                     {% endif %}
  89.                                     <h4>{{ "steinco.cad.downloadTitle"|trans|striptags }}</h4>
  90.                                     <select id="scswCadFormats" class="scsw-cad-formats"></select>
  91.                                     <button id="scswCadDownload" class="{{classBtnDownload}}" {{onClick}}="downloadCadFile(this, '{{page.product.productNumber}}', '{{ "steinco.cad.limit"|trans|striptags }}');" title="{{ "steinco.cad.download"|trans|striptags }}" aria-label="{{ "steinco.cad.download"|trans|striptags }}">
  92.                                         {{ "steinco.cad.download"|trans|striptags }}
  93.                                     </button>
  94.                                     {% if not context.customer %}
  95.                                         <div class="account-menu-login">
  96.                                             <a href="{{ path('frontend.account.login.page') }}" title="{{ "account.loginSubmit"|trans|striptags }}" class="btn btn-primary account-menu-login-button">
  97.                                                 {{ "account.loginSubmit"|trans|sw_sanitize }}
  98.                                             </a>
  99.                                             <div class="account-menu-register">
  100.                                                 {{ "account.orRegister"|trans|sw_sanitize }}
  101.                                                 <a href="{{ path('frontend.account.login.page') }}" title="{{ "account.orRegisterLink"|trans|striptags }}">{{ "account.orRegisterLink"|trans|striptags }}</a>
  102.                                             </div>
  103.                                         </div>
  104.                                     {% endif %}
  105.                                 </div>
  106.                                 {# overlay content #}
  107.                                 <div id="scswOverlayImageContainer" class="scsw-overlay-img">
  108.                                     <iframe id="scswOverlayRender3D" class="scsw-overlay-render3D" src="" scrolling="no" seamless="seamless" frameborder="0"></iframe>
  109.                                     <img id="scswOverlayImage" src="" alt="" style="max-height: 100%; max-width: 100%; width: auto; height: auto; padding: 5%; margin: auto;" onclick="closeOverlay();">
  110.                                 </div>
  111.                             </div>
  112.                             {% set altPhoto =         page.product.productNumber ~ ", "
  113.                                                      ~ properties["Rolle_Bauart_Kundenfilter"].value|e ~ ", ∅ "
  114.                                                     ~ properties["Rad_Durchmesser_mm"].value|e ~ "steinco.property.mm"|trans ~ ", " 
  115.                                                     ~ properties["Rad_Lager_Kundenfilter"].value|e ~ ", " 
  116.                                                     ~ properties["Rad_Bereifung"].value|e ~ ", " 
  117.                                                     ~ properties["Befestigung_Abmessungen_Gruppe"].value|e  %}
  118.                             {% if imgPhoto %}
  119.                                 {# the photo #}
  120.                                 <img id="scswImagePhoto" src="{{imgPhoto}}" alt="{{altPhoto}}" style="display:none;">
  121.                             {% endif %}
  122.                             {% if img2D %}
  123.                                 {# the 2d drawing  #}
  124.                                 <img id="scswImage2D" src="{{img2D}}" alt="{{alt2D}} " style="display:none;">
  125.                             {% endif %}
  126.                             {% if imgFitting %}
  127.                                 {# the fitting drawing  #}
  128.                                 <img id="scswImageFitting" src="{{imgFitting}}" alt="{{altFitting}}" style="display:none;">
  129.                             {% endif %}
  130.                             <div id="scswDetailImageContainer">
  131.                                 <span class="scsw-similar-image-details" onclick="openOverlay();">{{ "steinco.similarImage"|trans }}</span>
  132.                                 <img class="scsw-detail-image" src="{{imgPhoto}}" alt="{{altPhoto}}" id="scswDetailImage" onclick="openOverlay();" style="width: 100%; height: auto;">
  133.                             </div>
  134.                         </div>
  135.                     {% endif %}
  136.                     {# replaced #}
  137.                     {# pdf dwonload #}
  138.                 {% endblock %}
  139.             </div>
  140.             <div
  141.                 class="col-xl-6 col-lg-6 col-md-12 col-12 scsw-pd-description">
  142.                 {# title, icons, decription, add to cart #}
  143.                 {% block page_product_detail_headline %}
  144.                     <div class="product-detail-headline scsw-detail-headline mb-3">
  145.                         <h1 style="line-height: 1.5rem;    padding-bottom: 1rem;">
  146.                             {% sw_include '@SteincoTheme/storefront/utilities/sc-product-title.html.twig' with { prod: page.product } %}
  147.                             <span style="font-weight: 400;font-size: 1.5rem;"><br/>
  148.                                 {% if isRolle %}
  149.                                     {% sw_include '@SteincoTheme/storefront/utilities/sc-product-subtitle.html.twig' with { prod: page.product } %}
  150.                                 {% endif %}
  151.                                 {% if properties['Auslaufteil'].value == 'Auslaufartikel' %}
  152.                                     <div style="padding: 0.3rem; margin-top: 0.5rem;" class="scsw-intra">{{ "steinco.discontinuedArticle"|trans }}</div>
  153.                                 {% elseif properties['Status_Prodsystem'].value|default('Katalog') != 'Katalog' %}
  154.                                     <div style="padding: 0.3rem; margin-top: 0.5rem;" class="scsw-intra">{{ "steinco.noStandardProduct"|trans }}</div>
  155.                                 {% endif %}
  156.                             </span>
  157.                             {% if showPrices %}
  158.                                 <span style="font-weight: 400;font-size: 1rem;">
  159.                                     {% sw_include '@SteincoTheme/storefront/page/product-detail/availability.html.twig' with {
  160.                                         prod: page.product,
  161.                                         showQuantity: true
  162.                                     } %}
  163.                                 </span>
  164.                             {% endif %}
  165.                         </h1>
  166.                         {# % sw_include '@Storefront/storefront/page/product-detail/headline.html.twig' % #}
  167.                     </div>
  168.                 {% endblock %}
  169.                 {# Branchen-Icons #}
  170.                 {% if not isZubehoer %}
  171.                     <div class="scsw-images-branche">
  172.                         {% set props = page.product.extensions.properties %}
  173.                         {%  if isRolle %}
  174.                             {#
  175.                                 SELECT
  176.                                     CONCAT('{% set allowed_', id, ' = ["', id, '", "', GROUP_CONCAT(text ORDER BY Sprache_IsoAlpha2 ASC SEPARATOR '", "'), '"] %}') AS twig_set_statement
  177.                                 FROM
  178.                                     Beschreibungen
  179.                                 WHERE
  180.                                     id LIKE 'BR\_%'
  181.                                 GROUP BY
  182.                                     id;
  183.                             #}
  184.                             {% set allowed_Br_Betriebsausstattung = ["Br_Betriebsausstattung", "Betriebsausstattung", "Factory equipment", "Factory equipment", "Equipamiento empresarial", "Équipement professionnel", "Attrezzature industriali", "Производственное оборудование", "Factory equipment"] %}
  185.                             {% set allowed_Br_Buero_u_Labor = ["Br_Buero_u_Labor", "Büro & Labor", "Office & laboratory", "Office & laboratory", "Oficinas y laboratorios", "Bureaux & laboratoires", "Uffici e laboratori", "Офисы и лаборатории", "Office & laboratory"] %}
  186.                             {% set allowed_Br_Grosskueche = ["Br_Grosskueche", "Großküchenlogistik", "Central kitchen logistics", "Central kitchen logistics", "Logística de cocinas industriales", "Logistique Restauration collective", "Logistica per cucine industriali", "Логистика пищеблоков", "Central kitchen logistics"] %}
  187.                             {% set allowed_Br_Ladenbau = ["Br_Ladenbau", "Ladenbau", "Shop fitting", "Shop fitting", "Establecimientos comerciales", "Construction de magasins", "Arredamento commerciale", "Торговые помещения", "Shop fitting"] %}
  188.                             {% set allowed_Br_Luftfahrt = ["Br_Luftfahrt", "Luftfahrt", "Aviation", "Aviation", "Aeronáutica", "Aéronautique", "Aeronautica", "Воздушный транспорт", "Aviation"] %}
  189.                             {% set allowed_Br_Medizintechnik = ["Br_Medizintechnik", "Medizintechnik", "Medical equipment", "Medical equipment", "Dispositivos médicos", "Matériel médical", "Tecnologie medicali", "Медицинская техника", "Medical equipment"] %}
  190.                             {% if intersect(props.branchen, allowed_Br_Medizintechnik) %}
  191.                                 <a href="{{path('frontend.home.page')}}search/Branche/Medizintechnik" style="text-decoration: none;">
  192.                                     <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Medizintechnik-white.svg','@SteincoTheme') }}"
  193.                                     alt="{{ "steinco.icons.Medizintechnik.alt"|trans}}"/>
  194.                                 </a>
  195.                             {% endif %}
  196.                             {% if intersect(props.branchen, allowed_Br_Grosskueche) %}
  197.                                 <a href="{{path('frontend.home.page')}}search/Branche/Großküchenlogistik" style="text-decoration: none;">
  198.                                     <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Lebensmittel-white.svg','@SteincoTheme') }}"
  199.                                     alt="{{ "steinco.icons.Grosskuechenlogistik.alt"|trans}}"/>
  200.                                 </a>
  201.                             {% endif %}
  202.                             {% if intersect(props.branchen, allowed_Br_Ladenbau) %}
  203.                                 <a href="{{path('frontend.home.page')}}search/Branche/Ladenbau" style="text-decoration: none;">
  204.                                     <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Ladenbau-white.svg','@SteincoTheme') }}"
  205.                                     alt="{{ "steinco.icons.Ladenbau.alt"|trans}}"/>
  206.                                 </a>
  207.                             {% endif %}
  208.                             {% if intersect(props.branchen, allowed_Br_Betriebsausstattung) %}
  209.                                 <a href="{{path('frontend.home.page')}}search/Branche/Betriebsausstattung" style="text-decoration: none;">
  210.                                     <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Betriebsausstattung-white.svg','@SteincoTheme') }}"
  211.                                     alt="{{ "steinco.icons.Betriebsausstattung.alt"|trans}}"/>
  212.                                 </a>
  213.                             {% endif %}
  214.                             {% if intersect(props.branchen, allowed_Br_Buero_u_Labor) %}
  215.                                 <a href="{{path('frontend.home.page')}}search/Branche/Büro & Labor" style="text-decoration: none;">
  216.                                     <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Labor-white.svg','@SteincoTheme') }}"
  217.                                     alt="{{ "steinco.icons.Buero.Labor.alt"|trans}}"/>
  218.                                 </a>
  219.                             {% endif %}
  220.                             {% if intersect(props.branchen, allowed_Br_Luftfahrt) %}
  221.                                 <a href="{{path('frontend.home.page')}}search/Branche/Luftfahrt" style="text-decoration: none;">
  222.                                     <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Luftfahrt-white.svg','@SteincoTheme') }}"
  223.                                     alt="{{ "steinco.icons.Luftfahrt.alt"|trans}}"/>
  224.                                 </a>
  225.                             {% endif %}
  226.                         {% else %}
  227.                             {# Rad: Alle Branchen anzeigen, kein Link, da es keinen passenden Filter gibt #}
  228.                             <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Medizintechnik-white.svg','@SteincoTheme') }}"
  229.                                  alt="{{ "steinco.icons.Medizintechnik.alt"|trans}}"/>
  230.                             <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Lebensmittel-white.svg','@SteincoTheme') }}"
  231.                                  alt="{{ "steinco.icons.Grosskuechenlogistik.alt"|trans}}"/>
  232.                             <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Ladenbau-white.svg','@SteincoTheme') }}"
  233.                                  alt="{{ "steinco.icons.Ladenbau.alt"|trans}}"/>
  234.                             <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Betriebsausstattung-white.svg','@SteincoTheme') }}"
  235.                                  alt="{{ "steinco.icons.Betriebsausstattung.alt"|trans}}"/>
  236.                             <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Labor-white.svg','@SteincoTheme') }}"
  237.                                  alt="{{ "steinco.icons.Buero.Labor.alt"|trans}}"/>
  238.                             <img class="scsw-img-branche" src="{{ asset('assets/icons/industries/Icon-Luftfahrt-white.svg','@SteincoTheme') }}"
  239.                                  alt="{{ "steinco.icons.Luftfahrt.alt"|trans}}"/>
  240.                         {% endif %}
  241.                         {# <div>{{path('frontend.home.page')|replace({',': '•', '/': '|'})}}</div> #}
  242.                     </div>
  243.                 {% endif %}
  244.                 {# description #}
  245.                 <div class="scsw-pd-text mt-3 mb-2" style="line-height: 1rem;">
  246.                     <steinco-article>
  247.                         <strong>{{ "steinco.product"|trans|sw_sanitize }}:</strong>
  248.                         {{ page.product.productNumber }}
  249.                         {% if page.product.ean is not sc_empty %}
  250.                             <br/>{{ "steinco.gtin_ean"|trans|sw_sanitize }}:
  251.                             {{ page.product.ean }}
  252.                         {% endif %}
  253.                         {% if page.product.customFields.custom_product_ctn is not sc_empty %}
  254.                             <br/>{{ "steinco.ctn"|trans|sw_sanitize }}:
  255.                             {{ page.product.customFields.custom_product_ctn }}
  256.                         {% endif %}
  257.                     </steinco-article>
  258.                 </div>
  259.                 <div class="scsw-pd-text mb-4">
  260.                     <steinco-article>
  261.                         <strong>{{ "component.product.feature.label.description"|trans|sw_sanitize }}</strong>
  262.                     </steinco-article>
  263.                     {{ page.product.translated.description|raw }}
  264.                 </div>
  265.                 {% if properties['Beratungspflicht'] %}
  266.                     {% if properties['Beratungspflicht'].value is sc_yes %}
  267.                         <div class="scsw-pd-needs-consulting mb-4">
  268.                             {{ "steinco.needsConsulting"|trans({'%article%': page.product.productNumber})|raw }}
  269.                         </div>
  270.                     {% endif %}
  271.                 {% endif %}
  272.                 {# add to cart #}
  273.                 {% block page_product_detail_buy %}
  274.                     {% sw_include '@Storefront/storefront/component/product/card/wishlist.html.twig' with {
  275.                         showText: true,
  276.                         size: 'md',
  277.                         productId: page.product.id
  278.                     } %}
  279.                 {%  endblock %}
  280.             </div>
  281.             <div class="pb-2 pt-4" style="width: 100%; padding: 3rem 1rem 0 !important;">
  282.                 <h5
  283.                     class="scsw-link-button-group">
  284.                     {#% if imgPhoto  %}
  285.                                             <a href="#0" onclick="setDetailPhoto();" class="scsw-link-button">
  286.                                                 <span class="nowrap">{{ "steinco.productDetail.image"|trans|sw_sanitize }}</span></a>
  287.                                         {% endif %#}
  288.                     {% set style = 'style="border: 1px solid var( --sc-black-20); width: 11rem; margin-bottom: 0.5rem;"' %}
  289.                     {% if img2D  %}
  290.                         <button href="#0" onclick="setDetail2DImage();" {{ style|raw }} class="btn scsw-link-button">
  291.                             <img class="scsw-link-button-icon" src="{{ asset('assets/icons/symbols/icon-2d-x2.png','@SteincoTheme') }}"/>
  292.                             <span class="nowrap scsw-2d">{{ "steinco.productDetail.drawing.2D"|trans|sw_sanitize }}</span>
  293.                         </button>
  294.                     {% endif %}
  295.                     {% if imgFitting  %}
  296.                         <button href="#0" onclick="setDetailFitting();" {{ style|raw }} class="btn scsw-link-button">
  297.                             {% if isZubehoer %}
  298.                                 <img class="scsw-link-button-icon" src="{{ asset('assets/icons/symbols/icon-settings-x2.png','@SteincoTheme') }}"/>
  299.                                 <span class="nowrap">{{ "steinco.application"|trans|sw_sanitize }}</span>
  300.                             {% else %}
  301.                                 <img class="scsw-link-button-icon" src="{{ asset('assets/icons/symbols/icon-2d-x2.png','@SteincoTheme') }}"/>
  302.                                 <span class="nowrap">{{ "steinco.productDetail.drawing.fitting"|trans|sw_sanitize }}</span>
  303.                             {% endif %}
  304.                         </button>
  305.                     {% endif %}
  306.                     {% if img3D  %}
  307.                         {% set errMsg %}{{ 'steinco.noCADData'|trans({'%prodnr%': page.product.productNumber})|sw_sanitize|e('js') }}{% endset %}
  308.                         <button {{ style|raw }} class="btn scsw-link-button" href="#0" onclick="openOverlay3D('{{page.product.productNumber}}', '{{errMsg}}');">
  309.                             <img class="scsw-link-button-icon" src="{{ asset('assets/icons/symbols/icon-3d-x2.png','@SteincoTheme') }}"/>
  310.                             <span class="nowrap">{{ "steinco.productDetail.drawing.3D"|trans|sw_sanitize }}</span>
  311.                         </button>
  312.                     {% endif %}
  313.                     {# Später notwendig: Übergabe an PDF set currentPath = seoUrl('frontend.detail.page', {'productId': page.product.id}) #}
  314.                     {# <button onclick="location.href='{{ path('frontend.home.page') }}pdf/{{ page.product.productNumber }}?url={{ currentPath }}'" {{ style|raw }} class="btn scsw-link-button"> #}
  315.                     <button onclick="location.href='{{ path('frontend.home.page') }}pdf/{{ page.product.productNumber }}'" {{ style|raw }} class="btn scsw-link-button">
  316.                         <img class="scsw-link-button-icon" src="{{ asset('assets/icons/symbols/icon-pdf-x2.png','@SteincoTheme') }}"/>
  317.                         <span class="nowrap">{{ "steinco.productDetail.pdf"|trans|sw_sanitize }}</span>
  318.                     </button>
  319.                 </h5>
  320.             </div>
  321.             {% block page_product_detail_tabs %}
  322.                 {% set showVariants = false %}
  323.                 <div class="col-xl-12 offset-xl-0 col-md-12 offset-md-0 sc-tab-container ge ge_tabs_container">
  324.                     <nav id="scswDetailsTab" class="nav nav-tabs mb-1" role="tablist" style="float: left; width: 100%; border-top: 1px solid lightgray; margin-top: 1.5rem; padding-top: 1rem;">
  325.                         <a id="tab-td" class="nav-item nav-link scsw-tab-link active" href="#tab-content-td" data-toggle="tab" role="tab" aria-controls="tab-content-td" aria-selected="true">
  326.                             {{ "steinco.technicalData"|trans|sw_sanitize }}
  327.                         </a>
  328.                         <a id="tab-te" class="nav-item nav-link scsw-tab-link" href="#tab-content-te" data-toggle="tab" role="tab" aria-controls="tab-content-te" aria-selected="false">
  329.                             {{ "steinco.technicalCharacteristics"|trans|sw_sanitize }}
  330.                         </a>
  331.                         {% if showVariants %}
  332.                             <a id="tab-va" class="nav-item nav-link scsw-tab-link" href="#tab-content-va" data-toggle="tab" role="tab" aria-controls="tab-content-va" aria-selected="false">
  333.                                 {{ "steinco.variants"|trans|sw_sanitize }}
  334.                             </a>
  335.                         {% endif %}
  336.                         {% if showPrices %}
  337.                             <a id="tab-pr" class="nav-item nav-link scsw-tab-link" href="#tab-content-pr" data-toggle="tab" role="tab" aria-controls="tab-content-pr" aria-selected="false">
  338.                                 {{ "steinco.prices.prices"|trans|sw_sanitize }}
  339.                             </a>
  340.                         {% endif %}
  341.                     </nav>
  342.                     <div>
  343.                         <div id="scswDetailsTab" class="tab-content">
  344.                             <div id="tab-content-td" class="tab-pane fade ge ge_tabs_tab show active" role="tabpanel" aria-labelledby="tab-td" style="float: left;">
  345.                                 {% sw_include '@Storefront/storefront/page/product-detail/properties.html.twig'
  346.                                                 with { subset: isRolle ? "td" : (isZubehoer ? "tz" : "tr") } %}
  347.                             </div>
  348.                             <div id="tab-content-te" class="tab-pane fade ge ge_tabs_tab" role="tabpanel" aria-labelledby="tab-te" style="float: left;">
  349.                                 {% sw_include '@Storefront/storefront/page/product-detail/properties.html.twig' with { subset: "te" } %}
  350.                             </div>
  351.                             {% if showVariants %}
  352.                                 <div id="tab-content-va" class="tab-pane fade xyz ge ge_tabs_tab" role="tabpanel" aria-labelledby="tab-va" style="float: left;">
  353.                                     {% sw_include '@Storefront/storefront/utilities/alert.html.twig' with {
  354.                                             type:"info",
  355.                                             content: 'steinco.text.noVariants'|trans|sw_sanitize
  356.                                     } %}
  357.                                     {% sw_include '@Storefront/storefront/page/product-detail/properties.html.twig' with { subset: "all" } %}
  358.                                 </div>
  359.                             {% endif %}
  360.                             {% if showPrices %}
  361.                                 <div id="tab-content-pr" class="tab-pane fade ge ge_tabs_tab" role="tabpanel" aria-labelledby="tab-pr" style="float: left;">
  362.                                     {% sw_include '@Storefront/storefront/page/product-detail/properties.html.twig' with { subset: "pr" } %}
  363.                                 </div>
  364.                             {% endif %}
  365.                         </div>
  366.                     {% endblock %}
  367.                 </div>
  368.             {%  endblock %}
  369.         {%  endblock %}