custom/plugins/CogiFooterKit/src/Resources/views/storefront/layout/footer/footer.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/layout/footer/footer.html.twig' %}
  2. {% set extensionMedia = page.footer.extensions['Media'] %}
  3. {% set extensionFooterKit = page.footer.extensions['CogiFooterKit'] %}
  4. {% set extensionProduct = page.footer.extensions['Product'] %}
  5. {% set footerKit = extensionFooterKit.get('footerKit')|first %}
  6. {% set media = extensionMedia.get('media') %}
  7. {% set product = extensionProduct.get('product') %}
  8. {% set mediaUrl = "" %}
  9. {% set navigationBackgroundImageUrl = "" %}
  10. {% set isSalesChannel = false %}
  11. {% if footerKit is not empty %}
  12.     {% if checkFooterStorefrontId(context, footerKit.salesChannelId) %}
  13.         {% set isSalesChannel = true %}
  14.     {% endif %}
  15. {% endif %}
  16.  {% for itemMedia in media %}
  17.         {% if footerKit.navigationConfig.backgroundImage == itemMedia.id %}
  18.             {% set navigationBackgroundImageUrl = itemMedia.url %}
  19.         {% endif %}
  20. {% endfor %}
  21. {% block layout_footer_inner_container %}
  22.     {% if isSalesChannel %}
  23.         <div id="footerColumns"
  24.             class="row footer-columns col-12 m-0 p-0 border-top border-bottom-0"
  25.             data-collapse-footer="true"
  26.             style= "
  27.                 background: {{ footerKit.navigationConfig.backgroundColor }};
  28.                 {% if navigationBackgroundImageUrl %}
  29.                     background-image: url('{{ navigationBackgroundImageUrl }}');
  30.                     background-position: {{ footerKit.navigationConfig.backgroundImagePosition }};
  31.                     background-size: {{ footerKit.navigationConfig.backgroundImageFit}};
  32.                     background-repeat: {{ footerKit.navigationConfig.backgroundImageRepeat }};
  33.                 {% endif %}
  34.                 ">
  35.             {% if footerKit.navigationConfig.active %}
  36.                 <div class="container col-12"
  37.                 style="padding: {{ footerKit.navigationConfig.verticalSpacing ? footerKit.navigationConfig.verticalSpacing : "25px" }} {{ footerKit.navigationConfig.horizontalSpacing ? footerKit.navigationConfig.horizontalSpacing : "25px" }} !important;
  38.                 ">
  39.                     <div class="row">
  40.                         {% if footerKit.navigationConfig.serviceHotline %}
  41.                             {% block layout_footer_navigation_hotline %}
  42.                                 <div class="col-md-3 footer-column js-footer-column pb-4">
  43.                                     {% block layout_footer_navigation_hotline_headline %}
  44.                                         <div class="footer-column-headline footer-headline js-footer-column-headline js-collapse-footer-column-trigger"
  45.                                                 id="collapseFooterHotlineTitle"
  46.                                                 data-target="#collapseFooterHotline"
  47.                                                 aria-expanded="true"
  48.                                                 aria-controls="collapseFooterHotline"
  49.                                                 style="color: {{ footerKit.navigationConfig.fontColor }};">
  50.                                             {{ 'footer.serviceHotlineHeadline'|trans|sw_sanitize }}
  51.                                             {% block layout_footer_navigation_hotline_icons %}
  52.                                                 <div class="footer-column-toggle">
  53.                                                     <span class="footer-plus-icon">
  54.                                                         {% sw_icon 'plus' %}
  55.                                                     </span>
  56.                                                     <span class="footer-minus-icon">
  57.                                                         {% sw_icon 'minus' %}
  58.                                                     </span>
  59.                                                 </div>
  60.                                             {% endblock %}
  61.                                         </div>
  62.                                     {% endblock %}
  63.                                     {% block layout_footer_navigation_hotline_content %}
  64.                                         <div id="collapseFooterHotline"
  65.                                                 class="footer-column-content collapse js-footer-column-content footer-contact"
  66.                                                 aria-labelledby="collapseFooterHotlineTitle">
  67.                                             <div class="footer-column-content-inner">
  68.                                                 <p class="footer-contact-hotline">
  69.                                                     {{ 'footer.serviceHotline'|trans|sw_sanitize }}
  70.                                                 </p>
  71.                                             </div>
  72.                                             <div class="footer-contact-form">
  73.                                                 {{ 'footer.serviceContactLink'|trans({
  74.                                                     '%url%': path('frontend.cms.page', { id: config('core.basicInformation.contactPage') })
  75.                                                 })|raw }}
  76.                                             </div>
  77.                                         </div>
  78.                                     {% endblock %}
  79.                                 </div>
  80.                             {% endblock %}
  81.                         {% endif %}
  82.                         {% if footerKit.navigationConfig["active"] %}
  83.                             {% block layout_footer_navigation_columns %}
  84.                                 {% for root in page.footer.navigation.tree %}
  85.                                     {% block layout_footer_navigation_column %}
  86.                                         <div class="col-md-3 footer-column js-footer-column">
  87.                                             {% block layout_footer_navigation_information_headline %}
  88.                                                 <div class="footer-column-headline footer-headline js-collapse-footer-column-trigger"
  89.                                                         data-target="#collapseFooterTitle{{ loop.index }}"
  90.                                                         aria-expanded="true"
  91.                                                         aria-controls="collapseFooter{{ loop.index }}"
  92.                                                         style="color: {{ footerKit.navigationConfig.fontColor }};">
  93.                                                     {{ root.category.translated.name }}
  94.                                                     {% block layout_footer_navigation_information_icons %}
  95.                                                         <div class="footer-column-toggle">
  96.                                                             <span class="footer-plus-icon">
  97.                                                                 {% sw_icon 'plus' %}
  98.                                                             </span>
  99.                                                             <span class="footer-minus-icon">
  100.                                                                 {% sw_icon 'minus' %}
  101.                                                             </span>
  102.                                                         </div>
  103.                                                     {% endblock %}
  104.                                                 </div>
  105.                                             {% endblock %}
  106.                                             {% block layout_footer_navigation_information_content %}
  107.                                                 <div id="collapseFooter{{ loop.index }}"
  108.                                                         class="footer-column-content collapse js-footer-column-content"
  109.                                                         aria-labelledby="collapseFooterTitle{{ loop.index }}">
  110.                                                     <div class="footer-column-content-inner">
  111.                                                         {% block layout_footer_navigation_information_links %}
  112.                                                             <ul class="list-unstyled">
  113.                                                                 {% for treeItem in root.children %}
  114.                                                                     {% set category = treeItem.category %}
  115.                                                                     {% set name = category.translated.name %}
  116.                                                                     {% set externalLink = category.translated.externalLink %}
  117.                                                                     {% block layout_footer_navigation_information_link_item %}
  118.                                                                         <li class="footer-link-item">
  119.                                                                             {% block layout_footer_navigation_information_link %}
  120.                                                                                 {% if category.type == 'folder' %}
  121.                                                                                     <div>{{ name }}</div>
  122.                                                                                 {% else %}
  123.                                                                                     <a class="footer-link"
  124.                                                                                         {% if footerKit.navigationConfig.fontColorLink or footerKit.navigationConfig.fontColorLinkHover %}
  125.                                                                                             onMouseOver="this.style.color='{{ footerKit.navigationConfig.fontColorLinkHover }}'"
  126.                                                                                             onMouseOut="this.style.color='{{ footerKit.navigationConfig.fontColorLink }}'"
  127.                                                                                         {% endif %}
  128.                                                                                        href="{{ category_url(category) }}"
  129.                                                                                        {% if category_linknewtab(category) %}target="_blank"{% endif %}
  130.                                                                                        title="{{ name }}">
  131.                                                                                         {{ name }}
  132.                                                                                     </a>
  133.                                                                                 {% endif %}
  134.                                                                             {% endblock %}
  135.                                                                         </li>
  136.                                                                     {% endblock %}
  137.                                                                 {% endfor %}
  138.                                                             </ul>
  139.                                                         {% endblock %}
  140.                                                     </div>
  141.                                                 </div>
  142.                                             {% endblock %}
  143.                                         </div>
  144.                                     {% endblock %}
  145.                                 {% endfor %}
  146.                             {% endblock %}
  147.                             {% block custom_navigation_blocks %}
  148.                                 {% for block in footerKit.navigationBlock %}
  149.                                     {% if block.active %}
  150.                                         {% block layout_footer_navigation_block_column %}
  151.                                             <div class="{{ block.col }} footer-column js-footer-column">
  152.                                                 {% block layout_footer_navigation_block_headline %}
  153.                                                     <div class="footer-column-headline footer-headline js-collapse-footer-column-trigger"
  154.                                                          data-target="#collapseFooterTitle{{ loop.index }}"
  155.                                                          aria-expanded="true"
  156.                                                          aria-controls="collapseFooter{{ loop.index }}"
  157.                                                          style="color: {{ footerKit.navigationConfig.fontColor }};">
  158.                                                         {{ block.title }}
  159.                                                         {% block layout_footer_navigation_block_icons %}
  160.                                                             <div class="footer-column-toggle">
  161.                                                                 <span class="footer-plus-icon">
  162.                                                                     {% sw_icon 'plus' %}
  163.                                                                 </span>
  164.                                                                 <span class="footer-minus-icon">
  165.                                                                     {% sw_icon 'minus' %}
  166.                                                                 </span>
  167.                                                             </div>
  168.                                                         {% endblock %}
  169.                                                     </div>
  170.                                                 {% endblock %}
  171.                                                 {% block layout_footer_navigation_block_content %}
  172.                                                     <div id="collapseFooter{{ loop.index }}"
  173.                                                          class="footer-column-content collapse js-footer-column-content"
  174.                                                          aria-labelledby="collapseFooterTitle{{ loop.index }}">
  175.                                                         <div class="footer-column-content-inner">
  176.                                                             {% block layout_footer_navigation_block_links %}
  177.                                                                 {{ block.block|raw }}
  178.                                                             {% endblock %}
  179.                                                         </div>
  180.                                                     </div>
  181.                                                 {% endblock %}
  182.                                             </div>
  183.                                         {% endblock %}
  184.                                     {% endif %}
  185.                                 {% endfor %}
  186.                             {% endblock %}
  187.                         {% endif %}
  188.                     </div>
  189.                 </div>
  190.             {% endif %}
  191.             {% block layout_footer_information_custom %}
  192.                 {% if footerKit.informationConfig.basicSettings.active and footerKit.informationConfig.basicSettings.informationType == 'custom' %}
  193.                     <div class="col-12 d-flex row customColumns m-0
  194.                     {% if footerKit.informationConfig.basicSettings.center %}
  195.                         justify-content-center
  196.                     {% endif %}
  197.                     "
  198.                     style="background: {{ footerKit.informationConfig.basicSettings.backgroundColor }}; padding: {{ footerKit.informationConfig.basicSettings.verticalSpacing ? footerKit.informationConfig.basicSettings.verticalSpacing : "25px" }} {{ footerKit.informationConfig.basicSettings.horizontalSpacing ? footerKit.informationConfig.basicSettings.horizontalSpacing : "25px" }};">
  199.                         {% if footerKit.productSliderTitle %}
  200.                             <div class="col-12 d-flex justify-content-center" style="background: {{ footerKit.informationConfig.basicSettings.backgroundColor }};">
  201.                                 <h3 class="p-0 m-0 py-3" style="color: {{ footerKit.informationConfig.basicSettings.titleColor }};"> {{ footerKit.productSliderTitle }} </h3>
  202.                             </div>
  203.                         {% endif %}
  204.                         {% for informationBlock in footerKit.informationBlock %}
  205.                             {% if informationBlock.active %}
  206.                                 <div class="{{ informationBlock.col }}">
  207.                                     {{ informationBlock.block|raw }}
  208.                                 </div>
  209.                             {% endif %}
  210.                         {% endfor %}
  211.                     </div>
  212.                 {% endif %}
  213.             {% endblock %}
  214.             {% block layout_footer_information_dynamic_products %}
  215.                 {% if footerKit.informationConfig.basicSettings.active and footerKit.informationConfig.basicSettings.informationType == 'dynamic' %}
  216.                     <div class="col-12 d-flex row customColumns m-0 p0 justify-content-center"
  217.                         style="background: {{ footerKit.informationConfig.basicSettings.backgroundColor }}; padding: {{ footerKit.informationConfig.basicSettings.verticalSpacing ? footerKit.informationConfig.basicSettings.verticalSpacing : "25px" }} {{ footerKit.informationConfig.basicSettings.horizontalSpacing ? footerKit.informationConfig.basicSettings.horizontalSpacing : "25px" }};">
  218.                         {% if footerKit.productSliderTitle %}
  219.                             <div class="col-12 d-flex justify-content-center" style="background: {{ footerKit.informationConfig.basicSettings.backgroundColor }};">
  220.                                 <h3 class="p-0 m-0 py-3" style="color: {{ footerKit.informationConfig.basicSettings.titleColor }};"> {{ footerKit.productSliderTitle }} </h3>
  221.                             </div>
  222.                         {% endif %}
  223.                         {% sw_include '@FooterKit/storefront/layout/footer/tools/product-slider.html.twig' with {'product': product } %}
  224.                     </div>
  225.                 {% endif %}
  226.             {% endblock %}
  227.             <div class="row col-12 p-0 m-0">
  228.                 {% block layout_footer_payment_logos %}
  229.                     {% if footerKit.paymentShippingConfig.paymentActive %}
  230.                         <div class="footer-logo- is-payment col-12 d-flex row m-0
  231.                         {% if footerKit.paymentShippingConfig.paymentActive == footerKit.paymentShippingConfig.shippingActive %}
  232.                             col-md-6
  233.                             justify-content-md-end
  234.                             justify-content-center
  235.                         {% else %}
  236.                             col-md-12
  237.                             justify-content-center
  238.                         {% endif %}
  239.                         " style="background: {{ footerKit.paymentShippingConfig.backgroundColor }}; padding: {{ footerKit.paymentShippingConfig.verticalSpacing ? footerKit.paymentShippingConfig.verticalSpacing : "25px" }} {{ footerKit.paymentShippingConfig.horizontalSpacing ? footerKit.paymentShippingConfig.horizontalSpacing : "25px" }};">
  240.                             <div style="display: flex; justify-content: center; align-items: center;">
  241.                                 <span class="m-0" style="font-size: 18px; font-weight: 600; text-align: center; color: {{ footerKit.paymentShippingConfig.fontColor }};">{{ footerKit.paymentString|trans }}</span>
  242.                             </div>
  243.                             {% for paymentMethod in page.salesChannelPaymentMethods %}
  244.                                 {% block layout_footer_payment_logo %}
  245.                                     {% if paymentMethod.media %}
  246.                                         <div class="img-wrapper m-2">
  247.                                             {% sw_thumbnails 'footer-payment-image-thumbnails' with {
  248.                                                 media: paymentMethod.media,
  249.                                                 sizes: {
  250.                                                     'default': '35px'
  251.                                                 },
  252.                                                 attributes: {
  253.                                                     'class': 'img-fluid footer-logo-image',
  254.                                                     'alt': (paymentMethod.media.translated.alt ?: paymentMethod.translated.name),
  255.                                                     'title': (paymentMethod.media.translated.title ?: paymentMethod.translated.name)
  256.                                                 }
  257.                                             } %}
  258.                                         </div>
  259.                                     {% endif %}
  260.                                 {% endblock %}
  261.                             {% endfor %}
  262.                         </div>
  263.                     {% endif %}
  264.                 {% endblock %}
  265.                 {% block layout_footer_shipping_logos %}
  266.                     {% if footerKit.paymentShippingConfig.shippingActive %}
  267.                         <div class="is-shipping footer-logo- is-payment col-12 d-flex row m-0
  268.                         {% if footerKit.paymentShippingConfig.shippingActive == footerKit.paymentShippingConfig.paymentActive %}
  269.                             col-md-6
  270.                             justify-content-md-start
  271.                             justify-content-center
  272.                         {% else %}
  273.                             col-md-12
  274.                             justify-content-center
  275.                         {% endif %}
  276.                         " style="background: {{ footerKit.paymentShippingConfig.backgroundColor }}; padding: {{ footerKit.paymentShippingConfig.verticalSpacing ? footerKit.paymentShippingConfig.verticalSpacing : "25px" }} {{ footerKit.paymentShippingConfig.horizontalSpacing ? footerKit.paymentShippingConfig.horizontalSpacing : "25px" }};">
  277.                             <div style="display: flex; justify-content: center; align-items: center;">
  278.                                 <span class="m-0" style="font-size: 18px; font-weight: 600; text-align: center; color: {{ footerKit.paymentShippingConfig.fontColor }};">{{ footerKit.shippingString|trans }}</span>
  279.                             </div>
  280.                             {% for shippingMethod in page.salesChannelShippingMethods %}
  281.                                 {% block layout_footer_shipping_logo %}
  282.                                     {% if shippingMethod.media %}
  283.                                         <div class="img-wrapper m-2">
  284.                                             {% sw_thumbnails 'footer-shipping-image-thumbnails' with {
  285.                                                 media: shippingMethod.media,
  286.                                                 sizes: {
  287.                                                     'default': '35px'
  288.                                                 },
  289.                                                 attributes: {
  290.                                                     'class': 'img-fluid footer-logo-image',
  291.                                                     'alt': (shippingMethod.media.translated.alt ?: shippingMethod.translated.name),
  292.                                                     'title': (shippingMethod.media.translated.title ?: shippingMethod.translated.name)
  293.                                                 }
  294.                                             } %}
  295.                                         </div>
  296.                                     {% endif %}
  297.                                 {% endblock %}
  298.                             {% endfor %}
  299.                         </div>
  300.                     {% endif %}
  301.                 {% endblock %}
  302.             </div>
  303.         </div>
  304.         {% if footerKit.bottomConfig.basicSettings.active %}
  305.             <div class="col-12 p-0" style="background: {{ footerKit.bottomConfig.basicSettings.backgroundColor }};">
  306.                 {% block social_media_block %}
  307.                     {% if footerKit.bottomConfig.socialMediaSettings.active %}
  308.                         <div class="col-12" style="padding: {{ footerKit.bottomConfig.socialMediaSettings.verticalSpacing ? footerKit.bottomConfig.socialMediaSettings.verticalSpacing : "25px" }} {{ footerKit.bottomConfig.socialMediaSettings.horizontalSpacing ? footerKit.bottomConfig.socialMediaSettings.horizontalSpacing : "25px" }};">
  309.                             <div class="d-flex justify-content-center col-12 p-0">
  310.                                 <h1 style="font-weight: 600; font-size: 1.2rem; color: {{ footerKit.bottomConfig.socialMediaSettings.fontColor }};">{{ footerKit.socialMediaString|trans }}</h1>
  311.                             </div>
  312.                             <ul class="nav col-12 p-0" style="display: flex; flex-flow: row wrap; justify-content: center;">
  313.                                 {% for socialMedia in footerKit.bottomConfig.socialMedia %}
  314.                                     {% if socialMedia.active %}
  315.                                         <li class="m-1 d-flex justify-content-center align-center">
  316.                                             {% for itemMedia in media %}
  317.                                                 {% if socialMedia.media == itemMedia.id %}
  318.                                                     {% set mediaUrl = itemMedia.url %}
  319.                                                     <a
  320.                                                         href="{{ socialMedia.url }}"
  321.                                                         {% if footerKit.bottomConfig.socialMediaSettings.tab %}
  322.                                                             target="_blank"
  323.                                                         {% endif %}
  324.                                                         >
  325.                                                         <img style="height: {{ footerKit.bottomConfig.socialMediaSettings.iconSize ? footerKit.bottomConfig.socialMediaSettings.iconSize : "30px" }}"
  326.                                                                 src="{{ mediaUrl }}"
  327.                                                                 alt="socialMedia1">
  328.                                                     </a>
  329.                                                 {% endif %}
  330.                                             {% endfor %}
  331.                                         </li>
  332.                                     {% endif %}
  333.                                 {% endfor %}
  334.                             </ul>
  335.                         </div>
  336.                     {% endif %}
  337.                 {% endblock %}
  338.                 {% block layout_footer_company_logo %}
  339.                     {% if footerKit.bottomConfig.companyLogoSettings.active %}
  340.                         <div class="d-flex justify-content-center col-12"
  341.                             style="padding: {{ footerKit.bottomConfig.companyLogoSettings.verticalSpacing ? footerKit.bottomConfig.companyLogoSettings.verticalSpacing : "25px" }} {{ footerKit.bottomConfig.companyLogoSettings.horizontalSpacing ? footerKit.bottomConfig.companyLogoSettings.horizontalSpacing : "25px" }};">
  342.                             {% for itemMedia in media %}
  343.                                 {% if footerKit.bottomConfig.companyLogoSettings.media == itemMedia.id %}
  344.                                     {% set mediaUrl = itemMedia.url %}
  345.                                     <img style="height: {{ footerKit.bottomConfig.companyLogoSettings.size ? footerKit.bottomConfig.companyLogoSettings.size : "50px" }}" src="{{ mediaUrl }}" alt="logo">
  346.                                 {% endif %}
  347.                             {% endfor %}
  348.                         </div>
  349.                     {% endif %}
  350.                 {% endblock %}
  351.                 {% block layout_footer_custom_link %}
  352.                     {% if footerKit.bottomConfig.customLinkSettings.active %}
  353.                         <ul class="nav d-flex justify-content-center col-12 p-1 customLink" style="padding: {{ footerKit.bottomConfig.customLinkSettings.verticalSpacing ? footerKit.bottomConfig.customLinkSettings.verticalSpacing : "0px" }} {{ footerKit.bottomConfig.customLinkSettings.horizontalSpacing ? footerKit.bottomConfig.customLinkSettings.horizontalSpacing : "0px" }} !important;">
  354.                             {% for customLink in footerKit.customLink %}
  355.                                 {% if customLink.active %}
  356.                                     <li class="nav-item">
  357.                                         <a class="nav-link"
  358.                                             {% if footerKit.bottomConfig.customLinkSettings.fontColor or footerKit.bottomConfig.customLinkSettings.fontColorHover %}
  359.                                                 onMouseOver="this.style.color='{{ footerKit.bottomConfig.customLinkSettings.fontColorHover }}'"
  360.                                                 onMouseOut="this.style.color='{{ footerKit.bottomConfig.customLinkSettings.fontColor }}'"
  361.                                             {% endif %}
  362.                                             style="color: {{ footerKit.bottomConfig.customLinkSettings.fontColor }}; transition: all {{ footerKit.bottomConfig.customLinkSettings.transitionTime }};
  363.                                                     font-size: {{ footerKit.bottomConfig.customLinkSettings.fontSize ? footerKit.bottomConfig.customLinkSettings.fontSize : ".875rem" }}"
  364.                                             href="{{ customLink.url }}"
  365.                                             {% if footerKit.bottomConfig.customLinkSettings.tab %}
  366.                                                 target="_blank"
  367.                                             {% endif %}
  368.                                             >
  369.                                             {{ customLink.name|trans }}
  370.                                         </a>
  371.                                     </li>
  372.                                 {% endif %}
  373.                             {% endfor %}
  374.                         </ul>
  375.                     {% endif %}
  376.                 {% endblock %}
  377.                 {% block layout_footer_vat %}
  378.                     {% if footerKit.bottomConfig.basicSettings.vatActive %}
  379.                         <div class="footer-vat-new d-flex justify-content-center new-footer col-12"
  380.                             style="color: {{ footerKit.bottomConfig.basicSettings.vatFontColor }}; padding: {{ footerKit.bottomConfig.basicSettings.vatVerticalSpacing ? footerKit.bottomConfig.basicSettings.vatVerticalSpacing : "0" }} {{ footerKit.bottomConfig.basicSettings.vatHorizontalSpacing ? footerKit.bottomConfig.basicSettings.vatHorizontalSpacing : "10px" }};">
  381.                             {% if context.taxState == "gross" %}
  382.                                 <p>{{ "footer.includeVat"|trans|sw_sanitize }}</p>
  383.                             {% else %}
  384.                                 <p>{{ "footer.excludeVat"|trans|sw_sanitize }}</p>
  385.                             {% endif %}
  386.                         </div>
  387.                     {% endif %}
  388.                 {% endblock %}
  389.             </div>
  390.         {% endif %}
  391.     {% else %}
  392.         {{ parent() }}
  393.     {% endif %}
  394. {% endblock %}