{% sw_extends '@Storefront/storefront/page/product-detail/tabs.html.twig'%}
{% block page_product_detail_tabs_inner %}
{% set EnnoTabsAdvanced = config('EnnoTabsAdvanced') %}
{% if EnnoTabsAdvanced and EnnoTabsAdvanced.config and EnnoTabsAdvanced.config.active %}
{% block enno_page_product_detail_tabs_inner %}
{% if page.product.extensions.ennoTabs and page.product.extensions.ennoTabs.elements is not empty %}
<div class="card card-tabs card-tabs-enno">
{% block enno_page_product_detail_tabs_navigation %}
<div class="card-header product-detail-tab-navigation">
{% block enno_page_product_detail_tabs_navigation_container %}
<ul class="nav nav-tabs product-detail-tab-navigation-list"
id="product-detail-tabs"
role="tablist">
{% for ennoTab in page.product.extensions.ennoTabs.elements %}
{% block enno_page_product_detail_tabs_navigation_element %}
<li class="nav-item">
<a class="nav-link {% if loop.first and (ratingSuccess != 1) and (ratingSuccess != -1) %}active{% elseif ennoTab.showRating and (ratingSuccess == 1) or (ratingSuccess == -1) %}active{% endif %} product-detail-tab-navigation-link"
id="enno-tab-{{ ennoTab.id }}"
data-toggle="tab"
data-offcanvas-tabs="true"
href="#enno-tab-{{ ennoTab.id }}-pane"
role="tab"
aria-controls="enno-tab-{{ ennoTab.id }}-pane"
aria-selected="true">
{# <span>{{ "detail.tabsDescription"|trans|sw_sanitize }}</span> #}
{% if ennoTab.manufacturerAsTabName %}
<span>{{ page.product.manufacturer.translated.name }}</span>
{% else %}
<span>{{ ennoTab.name }}</span>
{% endif %}
<span class="product-detail-tab-navigation-icon">
{% sw_icon 'arrow-medium-right' style {'pack':'solid'} %}
</span>
{% if ennoTab.showDescription and page.product.translated.description|length > 0 %}
<span class="product-detail-tab-preview">
{{ page.product.translated.description|raw|striptags|sw_sanitize|u.truncate(125, '…') }}
{# truncate always cuts down the length to 125 characters.
So it will only shorten the string if it exceeds 125 chars.
Therefor, only show the button when the length of the text is
greater or equal then 126 characters. #}
{% if page.product.translated.description|length >= 126 %}
<span class="product-detail-tab-preview-more">{{ "detail.tabsPreviewMore"|trans|sw_sanitize }}</span>
{% endif %}
</span>
{% elseif ennoTab.showManufacturer and page.product.manufacturer and page.product.manufacturer.translated.description|length > 0 %}
<span class="product-detail-tab-preview">
{{ page.product.manufacturer.translated.description|raw|striptags|u.truncate(125) }}
{% if page.product.manufacturer.translated.description|length >= 126 %}
<span class="product-detail-tab-preview-more">{{ "detail.tabsPreviewMore"|trans|sw_sanitize }}</span>
{% endif %}
</span>
{% endif %}
</a>
</li>
{% endblock %}
{% endfor %}
{% if EnnoTabsAdvanced.config.shopwareBlocks %}
{% block page_product_detail_tabs_navigation_description %}{% endblock %}
{% block page_product_detail_tabs_navigation_review %}{% endblock %}
{% endif %}
{% if EnnoTabsAdvanced.config.crossSelling %}
{% for item in page.crossSellings %}
{% block enno_page_product_detail_tabs_navigation_element_cross_selling %}
{% set id = item.crossSelling.id %}
{% if item.crossSelling.active and item.getProducts().elements %}
<li class="nav-item">
<a class="nav-link product-detail-tab-navigation-link product-detail-tab-navigation-link-cross-selling"
id="cs-{{ id }}-tab"
data-toggle="tab"
href="#cs-{{ id }}-tab-pane"
role="tab"
aria-controls="cs-{{ id }}-tab-pane"
aria-selected="true">
{{ item.crossSelling.translated.name }}
<span class="product-detail-tab-navigation-icon">
{% sw_icon 'arrow-medium-right' style {'pack':'solid'} %}
</span>
</a>
</li>
{% endif %}
{% endblock %}
{% endfor %}
{% endif %}
</ul>
{% endblock %}
</div>
{% endblock %}
{% block enno_page_product_detail_tabs_content %}
<div class="product-detail-tabs-content card-body">
{% block enno_page_product_detail_tabs_content_container %}
<div class="tab-content enno-tab-content">
{% for ennoTab in page.product.extensions.ennoTabs.elements %}
{% block enno_page_product_detail_tabs_content_element %}
<div class="tab-pane fade show {% if loop.first and (ratingSuccess != 1) and (ratingSuccess != -1) %}active{% elseif ennoTab.showRating and (ratingSuccess == 1) or (ratingSuccess == -1) %}active{% endif %}"
id="enno-tab-{{ ennoTab.id }}-pane"
role="tabpanel"
aria-labelledby="enno-tab-{{ ennoTab.id }}">
{% if ennoTab.templateFile %}
{% sw_include '@Storefront/' ~ ennoTab.templateFile ignore missing %}
{% else %}
{% sw_include '@Storefront/storefront/page/product-detail/tabs/enno-custom.html.twig' %}
{% endif %}
</div>
{% endblock %}
{% endfor %}
{% if EnnoTabsAdvanced.config.shopwareBlocks %}
{% block page_product_detail_tabs_content_description %}{% endblock %}
{% block page_product_detail_tabs_content_review %}{% endblock %}
{% endif %}
{% if EnnoTabsAdvanced.config.crossSelling %}
{% for item in page.crossSellings %}
{% block enno_page_product_detail_tabs_content_element_cross_selling %}
{% set id = item.crossSelling.id %}
{% if item.crossSelling.active and item.getProducts().elements %}
<div class="tab-pane tab-pane-cross-selling fade show"
id="cs-{{ id }}-tab-pane"
role="tabpanel"
aria-labelledby="cs-{{ id }}-tab">
{% set config = {
'title': {
'value': item.crossSelling.name
},
'border': {
'value': false
},
'rotate': {
'value': false
},
'products': {
'value': item.getProducts()
},
'boxLayout': {
'value': 'standard'
},
'elMinWidth': {
'value': '300px'
},
'navigation': {
'value': true
},
'displayMode': {
'value': 'minimal'
},
'verticalAlign': {
'value': 'top'
},
} %}
{% sw_include "@Storefront/storefront/element/cms-element-product-slider.html.twig" with {
sliderConfig: config,
element: {
'data': {
'products': {
elements: item.getProducts()
}
},
type: 'product-slider'
}
} only %}
</div>
{% endif %}
{% endblock %}
{% endfor %}
{% endif %}
</div>
{% endblock %}
</div>
{% endblock %}
</div>
{% endif %}
{% endblock %}
{% else %}
{{ parent() }}
{% endif %}
{% endblock %}