custom/plugins/TcinnThemeWareStrong/src/Resources/views/storefront/layout/header/header.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/layout/header/header.html.twig' %}
  2. {# TODO: prüfen... #}
  3. {# ---------------- START: SET TEMPLATE VARS ---------------- #}
  4. {# ThemeWare: Set theme variables #}
  5. {% set twtHeaderSearchShow = theme_config('twt-header-search-show') %}
  6. {% set twtHeaderSearchType = theme_config('twt-header-search-type') %}
  7. {% set twtHeaderTopBarShow = theme_config('twt-header-top-bar-show') %}
  8. {% set twtHeaderType = theme_config('twt-header-type') %}
  9. {% set twtHeaderPhoneType = theme_config('twt-header-phone-type') %}
  10. {% set twtHeaderPhoneCartBtnHighlighting = theme_config('twt-header-phone-cart-btn-highlighting') %}
  11. {% set twtHeaderPhoneBtnHome = theme_config('twt-header-phone-btn-home') %}
  12. {% set twtIconSet = theme_config('twt-iconset') %}
  13. {% set twtNavMainShow = theme_config('twt-nav-main-show') %}
  14. {% set twtHeaderTypeCompatibility = theme_config('twt-header-type-compatibility') %}
  15. {% set twtNavMainShow = theme_config('twt-nav-main-show') %}
  16. {% set twtUspBarHeaderLayout = theme_config('twt-usp-bar-header-layout') %}
  17. {# ---------------- END: SET TEMPLATE VARS ---------------- #}
  18. {# TODO: Add "twtHeaderTypeCompatibility"-if to disable all header-adjustments #}
  19. {# TODO: HC-Architecture... #}
  20. {# ThemeWare: "Top-Bar" entfernen falls diese über die Theme-Konfiguration deaktiviert wurde. #}
  21. {% block layout_top_bar %}
  22.     {% if twtHeaderTopBarShow == 1 %}
  23.         {# ThemeWare: Remove top bar #}
  24.     {% else %}
  25.         {# Default block #}
  26.         {{ parent() }}
  27.     {% endif %}
  28. {% endblock %}
  29. {# TODO: HC-Architecture... #}
  30. {# ThemeWare: Such-Input entfernen falls...
  31.     - ... "Header 2.1" (twt-header-type 4) aktiv ist. (Info: Header 2.1 unterstützt derzeit lediglich die "Flyout-" bzw. "Fullscreen-Suche")
  32.     - ... die "Flyout-Suche" in der Theme-Konfiguration aktiviert wurde.
  33.     - ... die "Fullscreen-Suche" in der Theme-Konfiguration aktiviert wurde.
  34. #}
  35. {% block layout_header_search %}
  36.     {% if twtHeaderSearchType == 2 or twtHeaderSearchType == 4 or twtHeaderType == 4 %}
  37.         {# ThemeWare: Remove search input #}
  38.     {% else %}
  39.         {# Default block #}
  40.         {{ parent() }}
  41.     {% endif %}
  42. {% endblock %}
  43. {# TODO: HC-Architecture... #}
  44. {# ThemeWare: Anpassungen am Toggle-Button der "Top-Navigation" #}
  45. {% block layout_header_navigation_toggle %}
  46.     {# ThemeWare: Phone Home Button #}
  47.     {% if twtHeaderPhoneType == 2 and twtHeaderPhoneBtnHome == 2 %}
  48.         {# Only with "Sales Promoting Navigation" and active home button #}
  49.         {% block twt_layout_header_home_button %}
  50.             <div class="col-auto twt-home-col d-sm-none">
  51.                 <a class="btn header-home-btn header-actions-btn{% if controllerAction is same as('home') %} active{% endif %} home-link"
  52.                 href="{{ path('frontend.home.page') }}" aria-label="Home" 
  53.                 itemprop="url"
  54.                 title="{{ "general.homeLink"|trans|striptags }}">
  55.                     <span class="header-home-icon">
  56.                         <span itemprop="name">{% sw_icon 'home' %}</span>
  57.                     </span>
  58.                 </a>
  59.             </div>
  60.         {% endblock %}
  61.     {% endif %}
  62.     {# ThemeWare: Klassen modifizieren um den Toggle-Button ein-/auszublenden. #}
  63.     {# ThemeWare: "Phone-Header" #}
  64.     {# Klassen für den Phone-Header "Navigation" hinzufügen. #}
  65.     {% if twtHeaderPhoneType == 2 %}
  66.         {% set blockClassesMenuButton = ['col-auto col-sm twt-navigation-col'] %}
  67.     {% else %}
  68.         {% set blockClassesMenuButton = ['col'] %}
  69.     {% endif %}
  70.     
  71.     {# ThemeWare: 'Top navigation' => hidden #}
  72.     {# "Top-Navigation" nur mobil anzeigen wenn Sie über die Theme-Konfiguration deaktiviert wurde #}
  73.     {% if twtNavMainShow == 1 %}
  74.         {% set blockClassesMenuButton = ['d-block d-lg-none']|merge(blockClassesMenuButton) %}
  75.     {% endif %}
  76.     
  77.     {# ThemeWare: 'Top navigation' => list #}
  78.     {# Anpassungen falls die "Top-Navigation" als "Liste" dargestellt werden soll #}
  79.     {% if twtNavMainShow == 2  %}
  80.         {% if twtHeaderType == 4 %}
  81.             {# ThemeWare: Klassen für "Header 2.1" hinzufügen #}
  82.             {% set blockClassesMenuButton = ['d-block d-lg-none']|merge(blockClassesMenuButton) %}
  83.         {% elseif twtHeaderType == 10 %}
  84.             {# ThemeWare: Klassen für "Header 10" hinzufügen   #customHeader #}
  85.             {% set blockClassesMenuButton = ['d-none twt-sticky-header-menu-button']|merge(blockClassesMenuButton) %}
  86.         {% else %}
  87.             {# ThemeWare: Klassen für alle anderen Header hinzufügen #}
  88.             {% if twtHeaderSearchType == 2 or twtHeaderSearchType == 4 %}
  89.                 {# ThemeWare: "Flyout search" (twt-header-search-type 2) oder "Fullscreen search" (twt-header-search-type 4) aktiv #}
  90.                 {% set blockClassesMenuButton = ['d-block d-lg-none']|merge(blockClassesMenuButton) %}
  91.             {% else %}
  92.                 {% set blockClassesMenuButton = ['d-block d-sm-none']|merge(blockClassesMenuButton) %}
  93.             {% endif %}
  94.         {% endif %}
  95.     {% endif %}
  96.     
  97.     {# ThemeWare: 'Top navigation' => button #}
  98.     {# Anpassungen falls die "Top-Navigation" als "Button" (default) dargestellt werden soll... #}
  99.     {% if twtNavMainShow == 3 %}
  100.         {# ThemeWare: Klassen für die "Flyout-Suche" oder die "Fullscreen-Suche" hinzufügen #}
  101.         {% if twtHeaderSearchType == 2 or twtHeaderSearchType == 4 %}
  102.             {% set blockClassesMenuButton = ['d-block']|merge(blockClassesMenuButton) %}
  103.         {% else %}
  104.             {# ThemeWare: Klassen für "Header 2.1" hinzufügen #}
  105.             {% if twtHeaderType == 4 %}
  106.                 {% set blockClassesMenuButton = ['d-sm-block']|merge(blockClassesMenuButton) %}
  107.             {% else %}
  108.                 {% set blockClassesMenuButton = ['d-sm-none d-lg-block']|merge(blockClassesMenuButton) %}
  109.             {% endif %}
  110.         {% endif %}
  111.     {% endif %}
  112.     {# ThemeWare: Anpassungen am Toggle-Button der "Top-Navigation" #}
  113.     {# Klassen (siehe oben) hinzufügen und Label 'Navigation' ergänzen #}
  114.     <div class="{{ blockClassesMenuButton|join(' ') }}">
  115.         <div class="menu-button">
  116.             {% block layout_header_navigation_toggle_button %}
  117.                 <button class="btn nav-main-toggle-btn header-actions-btn"
  118.                         type="button"
  119.                         title="{{ "twt.header.offcanvasMenuText"|trans }}"
  120.                         data-offcanvas-menu="true"
  121.                         aria-label="{{ "general.menuLink"|trans|striptags }}">
  122.                     {% block layout_header_navigation_toggle_button_icon %}
  123.                         {# ThemeWare: Icon austauschen #}
  124.                         {% if twtIconSet is not same as ('default') %}
  125.                             {% sw_icon 'stack' style {'pack':'themeware'} %}
  126.                         {% else %}
  127.                             {% sw_icon 'stack' %}
  128.                         {% endif %}
  129.                     {% endblock %}
  130.                     {# ThemeWare: Label 'Navigation' zum Toggle-Button hinzufügen #}
  131.                     <span class="header-nav-main-toggle-label">
  132.                         {{ "twt.header.offcanvasMenuText"|trans }}
  133.                     </span>
  134.                 </button>
  135.             {% endblock %}
  136.         </div>
  137.     </div>
  138. {% endblock %}
  139. {# ThemeWare: Anpassungen am Toggle-Button der "Top-Navigation" @tablet #}
  140. {#
  141. {% block layout_header_navigation_toggle_tablet  %}{% endblock %}
  142. #}
  143. {# TODO: HC-Architecture... #}
  144. {# ThemeWare: Anpassungen am Icon vom Toggle-Button der "Top-Navigation" @tablet #}
  145. {# TODO: Default-Konfiguration ergänzen... #}
  146. {# TODO: Mit toggle button (siehe oben) abgleichen... #}
  147. {% block layout_header_navigation_toggle_tablet_button_icon %}
  148.     {# ThemeWare: Icon austauschen #}
  149.     {% if twtIconSet is not same as ('default') %}
  150.         {% sw_icon 'stack' style {'pack':'themeware'} %}
  151.     {% else %}
  152.         {% sw_icon 'stack' %}
  153.     {% endif %}
  154.     {# ThemeWare: Label 'Navigation' zum Toggle-Button hinzufügen #}
  155.     <span class="header-nav-main-toggle-label">
  156.         {{ "twt.header.offcanvasMenuText"|trans }}
  157.     </span>
  158. {% endblock %}
  159. {# TODO: HC-Architecture... #}
  160. {# ThemeWare: Anpassungen am Toggle-Button der Suche
  161.     - $twt-header-search-show: 1 don't, 2 show > d-none
  162.     - $twt-header-search-type: 1 input, 2 flyout > d-sm-none
  163. #}
  164. {# TODO:
  165.     - Default-Konfiguration ergänzen...
  166.     - "Header 2.1" (twt-header-type 4) ggf. berücksichtigen ?!
  167. #}
  168. {% block layout_header_search_toggle %}
  169.     {# ThemeWare: Klassen modifizieren um den Toggle-Button ein-/auszublenden. #}
  170.     {% set blockClassesSearchToggle = ['col-auto twt-search-col'] %}
  171.     {# ThemeWare: 'Search' => hidden #}
  172.     {% if twtHeaderSearchShow == 1 %}
  173.         {% set blockClassesSearchToggle = ['d-none']|merge(blockClassesSearchToggle) %}
  174.     {% endif %}
  175.     {# ThemeWare: Klassen hinzufpgen falls nicht die "Flyout search" (twt-header-search-type 2) oder "Fullscreen search" (twt-header-search-type 4) aktiv ist. #}
  176.     {% if twtHeaderSearchType != 2 and twtHeaderSearchType != 4 %}
  177.         {% set blockClassesSearchToggle = ['d-sm-none']|merge(blockClassesSearchToggle) %}
  178.     {% endif %}
  179.     {#  ThemeWare: Toggle-Button ausblenden im "Header 2.1" (twt-header-type 4) oder falls die "Flyout search" bzw. die "Fullscreen search" aktiv sind. #}
  180.     {% if twtHeaderSearchType != 2 and twtHeaderSearchType != 4 %}
  181.         {% if twtHeaderType == 4 %}
  182.             {% set blockClassesSearchToggle = ['d-none'] %}
  183.         {% endif %}
  184.     {% endif %}
  185.     <div class="{{ blockClassesSearchToggle|join(' ') }}">
  186.           <div class="search-toggle">
  187.                 <button class="btn header-actions-btn search-toggle-btn js-search-toggle-btn collapsed"
  188.                           type="button"
  189.                           data-toggle="collapse"
  190.                           data-target="#searchCollapse"
  191.                           aria-expanded="false"
  192.                           aria-controls="searchCollapse"
  193.                           aria-label="{{ "header.searchButton"|trans|striptags }}">
  194.                     {# ThemeWare: Wrapper um Icon ergänzen und 'x'-Icon hinzufügen. #}
  195.                     <span class="header-search-toggle-icon">
  196.                         {% if twtIconSet is not same as ('default') %}
  197.                             {% sw_icon 'search' style {'pack':'themeware'} %}
  198.                         {% else %}
  199.                             {% sw_icon 'search' %}
  200.                         {% endif %}
  201.                         {% if twtIconSet is not same as ('default') %}
  202.                             {% sw_icon 'x' style {'pack':'themeware'} %}
  203.                         {% else %}
  204.                             {% sw_icon 'x' %}
  205.                         {% endif %}
  206.                     </span>
  207.                     {# ThemeWare: Label zum Toggle-Button hinzufügen. #}
  208.                     <span class="header-search-toggle-name">
  209.                         {{ "twt.header.searchText"|trans }}
  210.                     </span>
  211.                 </button>
  212.           </div>
  213.      </div>
  214. {% endblock %}
  215. {# TODO: HC-Architecture... #}
  216. {# ThemeWare: "Header 10" (twt-header-type 10)   #customHeader #}
  217. {# Aufbau für den Custom-Header modifizieren. #}
  218. {% block layout_header_navigation %}
  219.     {% if twtHeaderType == 10 %}
  220.         <div class="nav-header {{ navHeaderClasses|join(' ') }}">
  221.             <div class="container">
  222.                 <div class="header-row row align-items-center {{ headerRowClasses }}">
  223.                     {{ block('layout_header_logo') }}
  224.                     {% block twt_layout_header_main_navigation %}
  225.                         <div class="header-nav-col nav-main d-none col-lg">
  226.                             {% block twt_layout_header_main_navigation_inner %}
  227.                                 {% sw_include '@Storefront/storefront/layout/navigation/navigation.html.twig' %}
  228.                             {% endblock %}
  229.                         </div>
  230.                     {% endblock %}
  231.                     {{ block('layout_header_search') }}
  232.                     {{ block('layout_header_actions') }}
  233.                 </div>
  234.             </div>
  235.         </div>
  236.     {% else %}
  237.         {# Default block #}
  238.         {{ parent() }}
  239.     {% endif %}
  240. {% endblock %}
  241. {# ThemeWare: Klassen für den Phone-Header "Cart" hinzufügen. (Cart highlighting) #}
  242. {% block layout_header_actions_cart %}
  243.     {% if twtHeaderPhoneType == 2 and twtHeaderPhoneCartBtnHighlighting == 2 %}
  244.         <div class="col-auto twt-cart-col">
  245.             <div class="header-cart"
  246.                 data-offcanvas-cart="true">
  247.                 <a class="btn header-cart-btn header-actions-btn"
  248.                 href="{{ path('frontend.checkout.cart.page') }}"
  249.                 data-cart-widget="true"
  250.                 title="{{ 'checkout.cartTitle'|trans|striptags }}"
  251.                 aria-label="{{ 'checkout.cartTitle'|trans|striptags }}">
  252.                     {% sw_include '@Storefront/storefront/layout/header/actions/cart-widget.html.twig' %}
  253.                 </a>
  254.             </div>
  255.         </div>
  256.     {% else %}
  257.         {# Default block #}
  258.         {{ parent() }}
  259.     {% endif %}
  260. {% endblock %}
  261. {# ThemeWare: Klassen für den Phone-Header "Wishlist" hinzufügen. (Cart highlighting) #}
  262. {% block layout_header_actions_wishlist %}
  263.     {% if twtHeaderPhoneType == 2 and twtHeaderPhoneCartBtnHighlighting == 2 %}
  264.         <div class="col-auto twt-wishlist-col">
  265.             <div class="header-wishlist">
  266.                 <a class="btn header-wishlist-btn header-actions-btn"
  267.                 href="{{ path('frontend.wishlist.page') }}"
  268.                 title="{{ 'header.wishlist'|trans|striptags }}"
  269.                 aria-label="{{ 'header.wishlist'|trans|striptags }}">
  270.                     {% sw_include '@Storefront/storefront/layout/header/actions/wishlist-widget.html.twig' %}
  271.                 </a>
  272.             </div>
  273.         </div>
  274.     {% else %}
  275.         {# Default block #}
  276.         {{ parent() }}
  277.     {% endif %}
  278. {% endblock %}
  279. {# ThemeWare: Klassen für den Phone-Header "Account" hinzufügen. (Cart highlighting) #}
  280. {% block layout_header_actions_account %}
  281.     {% if twtHeaderPhoneType == 2 and twtHeaderPhoneCartBtnHighlighting == 2 %}
  282.         <div class="col-auto twt-account-col">
  283.             <div class="account-menu">
  284.                 {% sw_include '@Storefront/storefront/layout/header/actions/account-widget.html.twig' %}
  285.             </div>
  286.         </div>
  287.     {% else %}
  288.         {# Default block #}
  289.         {{ parent() }}
  290.     {% endif %}
  291. {% endblock %}