custom/plugins/MagNewsletterOverlayBox/src/Resources/views/storefront/base.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/base.html.twig' %}
  2. {% block base_main %}
  3.     {{ parent() }}
  4.     {% block newsletterbox %}
  5.         {# Check if overlay can be displayed #}
  6.         {% if page.cmsPage.type == 'landingpage' and controllerAction|lower == 'home' %}
  7.             {% set currentPageType = 'home' %}
  8.         {% elseif page.cmsPage.type == 'landingpage' %}
  9.             {% set currentPageType = 'landingpage' %}
  10.         {% elseif page.cmsPage.type == 'page' %}
  11.             {% set currentPageType = 'page' %}
  12.         {% elseif page.cmsPage.type == 'product_list' %}
  13.             {% set currentPageType = 'listing' %}
  14.         {% elseif page.cmsPage.type == 'product_detail' %}
  15.             {% set currentPageType = 'product' %}
  16.         {% elseif page.cmsPage == null and controllerName|lower == 'product' %}
  17.             {% set currentPageType = 'product' %}
  18.         {% elseif controllerName|lower == 'search' %}
  19.             {% set currentPageType = 'search' %}
  20.         {% elseif controllerName|lower == 'navigation' %}
  21.             {% set currentPageType = 'page' %}
  22.         {% endif %}
  23.         {% for pageTypeList in config('MagNewsletterOverlayBox').config.controller %}
  24.             {% if pageTypeList == currentPageType %}
  25.                 {% set break = true %}
  26.                 {% block newsletterbox_wrapper %}
  27.                     <div class="newsletterbox--wrapper"
  28.                          data-mag-newsletter-overlay-box="true"
  29.                          data-header="{{ config('MagNewsletterOverlayBox').config.headline }}"
  30.                          data-displaytime="{{ config('MagNewsletterOverlayBox').config.displaytime }}"
  31.                          data-autohide="{{ config('MagNewsletterOverlayBox').config.autohide }}"
  32.                          data-cookielife="{{ config('MagNewsletterOverlayBox').config.cookielife }}"
  33.                          data-hideafterregistration="{{ config('MagNewsletterOverlayBox').config.hideafterregistration }}"
  34.                          data-maxwidth="{{ config('MagNewsletterOverlayBox').config.maxwidth }}"
  35.                          data-nomobile="{% if config('MagNewsletterOverlayBox').config.mobile %}1{% endif %}"
  36.                          hidden>
  37.                         {% block newsletterbox_wrapper_inner %}
  38.                             <div class="newsletterbox--wrapper--inner">
  39.                                 {% block newsletterbox_wrapper_inner_content %}
  40.                                     <div class="newsletterbox--wrapper--inner--content">
  41.                                         {% block newsletterbox_content_image %}
  42.                                             {% if config('MagNewsletterOverlayBox').config.image %}
  43.                                                 {% set newsletterMediaId = config('MagNewsletterOverlayBox').config.image %}
  44.                                                 {# fetch media as batch - optimized for performance #}
  45.                                                 {% set mediaCollection = searchMedia([newsletterMediaId], context.context) %}
  46.                                                 {# extract single media object #}
  47.                                                 {% set newsletterMedia = mediaCollection.get(newsletterMediaId) %}
  48.                                                 <img src="{{ newsletterMedia.url }}" alt="{{ config('MagNewsletterOverlayBox').config.headline }}" class="newsletterbox--image" />
  49.                                             {% endif %}
  50.                                         {% endblock %}
  51.                                         {% block newsletterbox_content_text %}
  52.                                             <p class="newsletterbox--content">{{ config('MagNewsletterOverlayBox').config.text|raw }}</p>
  53.                                         {% endblock %}
  54.                                         {% block newsletterbox_form %}
  55.                                             <form id="newsletterbox--form"
  56.                                                   action="{{ path('frontend.home.page') }}newsletterbox/validatemail"
  57.                                                   method="post"
  58.                                                   data-form-csrf-handler="true"
  59.                                                   data-form-validation="true">
  60.                                                 {% block newsletterbox_form_msg %}
  61.                                                     <div class="newsletterbox-msg"></div>
  62.                                                 {% endblock %}
  63.                                                 {% block newsletterbox_form_captcha %}
  64.                                                     {% sw_include '@Storefront/storefront/component/captcha/base.html.twig' with { 'captchas': config('core.basicInformation.activeCaptchas') } %}
  65.                                                 {% endblock %}
  66.                                                 <div class="newsletterbox--wrapper--inner--content--form">
  67.                                                     <div class="form-content">
  68.                                                         <div class="form-row">
  69.                                                             <div class="input-group">
  70.                                                                 {% block newsletterbox_form_newsletter_input_label %}
  71.                                                                     <label class="sr-only" for="newsletterbox-email">
  72.                                                                         {{ "newsletterBox.form.newsletterLabel"|trans }}
  73.                                                                     </label>
  74.                                                                 {% endblock %}
  75.                                                                 {% block newsletterbox_form_newsletter_input_email %}
  76.                                                                     <input type="email"
  77.                                                                            name="email"
  78.                                                                            class="form-control"
  79.                                                                            id="newsletterbox-email"
  80.                                                                            placeholder="{{ "newsletterBox.form.newsletterLabel"|trans }}"
  81.                                                                            aria-label="{{ "newsletterBox.form.newsletterLabel"|trans }}"
  82.                                                                            aria-describedby="newsletterbox-email"
  83.                                                                            required="required">
  84.                                                                 {% endblock %}
  85.                                                                 {% block newsletterbox_form_newsletter_submit %}
  86.                                                                     <div class="input-group-append">
  87.                                                                         <button class="btn btn-dark"
  88.                                                                                 type="submit"
  89.                                                                                 id="newsletterbox-submit">
  90.                                                                             {% sw_icon 'envelope' %}
  91.                                                                         </button>
  92.                                                                     </div>
  93.                                                                 {% endblock %}
  94.                                                             </div>
  95.                                                         </div>
  96.                                                         {% if config('MagNewsletterOverlayBox').config.privacypage %}
  97.                                                             {% block newsletterbox_form_privacy %}
  98.                                                                 <div class="newsletterbox-privacy">
  99.                                                                     <div class="form-text privacy-notice {{ formCheckboxWrapperClass }}">
  100.                                                                         <input name="privacy"
  101.                                                                                type="checkbox"
  102.                                                                                class="{{ formCheckInputClass }}"
  103.                                                                                id="newsletterbox-privacy-opt-in"
  104.                                                                                required>
  105.                                                                         <label for="newsletterbox-privacy-opt-in" class="{{ formCheckLabelClass }}">
  106.                                                                             {# @deprecated tag:v6.5.0 - Translation parameter %url% will be removed, use %privacyUrl% and %tosUrl% instead #}
  107.                                                                             {{ "general.privacyNotice"|trans({
  108.                                                                                 '%url%': path('frontend.cms.page', { id: config('core.basicInformation.privacyPage') }),
  109.                                                                                 '%privacyUrl%': path('frontend.cms.page', { id: config('core.basicInformation.privacyPage') }),
  110.                                                                                 '%tosUrl%': path('frontend.cms.page', { id: config('core.basicInformation.tosPage')} )
  111.                                                                             })|raw }}
  112.                                                                         </label>
  113.                                                                     </div>
  114.                                                                     <input type="hidden"
  115.                                                                            name="privacyCheck"
  116.                                                                            value="true">
  117.                                                                     {% block newsletterbox_form_privacy_content %}
  118.                                                                         <div class="privacy-content">
  119.                                                                             <div class="privacy-content-inner">{% block newsletterbox_form_privacy_content_inner %}{% endblock %}</div>
  120.                                                                         </div>
  121.                                                                     {% endblock %}
  122.                                                                 </div>
  123.                                                             {% endblock %}
  124.                                                         {% endif %}
  125.                                                     </div>
  126.                                                 </div>
  127.                                                 {% block newsletterbox_form_newsletter_hidden_fields %}
  128.                                                     <div class="form-hidden-fields">
  129.                                                         {% block newsletterbox_form_newsletter_csrf %}
  130.                                                             {{ sw_csrf('frontend.index.validateMail') }}
  131.                                                         {% endblock %}
  132.                                                         <input type="hidden"
  133.                                                                name="option"
  134.                                                                id="newsletterAction"
  135.                                                                value="{{ constant('Mag\\NewsletterOverlayBox\\Storefront\\Controller\\MagNewsletterBoxController::SUBSCRIBE') }}">
  136.                                                         <input type="submit" class="submit--hidden d-none" />
  137.                                                     </div>
  138.                                                 {% endblock %}
  139.                                             </form>
  140.                                         {% endblock %}
  141.                                     </div>
  142.                                 {% endblock %}
  143.                             </div>
  144.                         {% endblock %}
  145.                     </div>
  146.                 {% endblock %}
  147.             {% endif %}
  148.         {% endfor %}
  149.     {% endblock %}
  150. {% endblock %}