templates/areas/heroslider/view.html.twig line 1

Open in your IDE?
  1. {% if editmode %}
  2.     <div class="bg-gray-100 p-5">
  3.         {% include 'areaHeadAndFooter.html.twig' with { 'header': 'STWH: Hero-Slider' } %}
  4.         {% include 'padding.html.twig' %}
  5.         <div class="my-3 flex flex-wrap overflow-hidden">
  6.             <div class="w-1/4 overflow-hidden">
  7.                 Darstellung:
  8.             </div>
  9.             <div class="w-3/4 overflow-hidden">
  10.                 {{ pimcore_select("darstellung", {
  11.                     "store": [
  12.                         ["slider", "für die Startseite"],
  13.                         ["header", "für Unterseiten (mit Breadcrumb und nicht ganz so hoch)"]
  14.                     ],
  15.                     "defaultValue" : "slider",
  16.                     "reload" : true,
  17.                     "width" : 300
  18.                 }) }}
  19.             </div>
  20.         </div>
  21.         <hr/>
  22.         <div class="my-3 flex flex-wrap overflow-hidden">
  23.             <div class="w-1/4 overflow-hidden">
  24.                 Anzeigedauer in ms:
  25.             </div>
  26.             <div class="w-1/4 overflow-hidden">
  27.                 {{ pimcore_input("sliderdelay", {
  28.                     "placeholder" : "2000"
  29.                 }) }}
  30.             </div>
  31.             <div class="w-2/4 pl-2 text-gray-500">
  32.                 default: 2000 (Millisekunden)
  33.             </div>
  34.         </div>
  35.         <hr/>
  36.         <div class="my-3 flex flex-wrap overflow-hidden">
  37.             <div class="w-1/4 overflow-hidden">
  38.                 Soll ein Overlay angezeigt werden?
  39.             </div>
  40.             <div class="w-3/4 overflow-hidden">
  41.                 {{ pimcore_checkbox("overlay") }} JA (Hinweis: Das Overlay hat 50% transparenten weißen Hintergrund)
  42.             </div>
  43.         </div>
  44.         <hr/>
  45.         <div class="my-3 flex flex-wrap overflow-hidden">
  46.             <div class="w-1/4 overflow-hidden">
  47.                 Overlay-Breite:
  48.             </div>
  49.             <div class="w-3/4 overflow-hidden">
  50.                 {{ pimcore_select("overlaywidth", {
  51.                     "store": [
  52.                         ["w-full", "volle Bannerbreite"],
  53.                         ["w-1/2", "1/2 der Bannerbreite"],
  54.                         ["w-3/4", "3/4 der Bannerbreite"]
  55.                     ],
  56.                     "defaultValue" : "w-1/2",
  57.                     "width" : 300
  58.                 }) }}
  59.             </div>
  60.         </div>
  61.         {% set auswahl = pimcore_select("darstellung").getData() %}
  62.         {% if auswahl == 'header' %}
  63.             <div class="my-3 flex flex-wrap overflow-hidden">
  64.                 <div class="w-1/4 overflow-hidden">
  65.                     Breadcrumb ausschalten?
  66.                 </div>
  67.                 <div class="w-3/4 overflow-hidden">
  68.                     {{ pimcore_checkbox("brotkrume") }} JA
  69.                 </div>
  70.             </div>
  71.             <hr/>
  72.         {% endif %}
  73.         {% set block = pimcore_block('gridblock', {'manual' : true, 'default' : 2}).start() %}
  74.         {% for b in block.iterator %}
  75.             {% do block.blockConstruct() %}
  76.             {% do block.blockStart() %}
  77.             <div class="border border-gray-400 p-3">
  78.                 <p class="text-gray-400">Element: {{ (b+1) }}</p>
  79.                 <div class="my-3 flex flex-wrap overflow-hidden">
  80.                     <div class="w-5/12 overflow-hidden pr-3">
  81.                         Bannergrafik: {{ pimcore_image("sliderimage", { "height" : 300 }) }}
  82.                     </div>
  83.                     <div class="w-7/12 overflow-hidden pl-3">
  84.                         <div class="flex flex-wrap overflow-hidden">
  85.                             <div class="w-full overflow-hidden">
  86.                                 <p>Banner-Headline: {{ pimcore_textarea("sliderheadline", { "height" : 100 }) }}</p>
  87.                             </div>
  88.                         </div>
  89.                         <div class="my-3 flex flex-wrap overflow-hidden">
  90.                             <div class="w-1/4 overflow-hidden">
  91.                                 SEO:
  92.                             </div>
  93.                             <div class="w-1/4 overflow-hidden">
  94.                                 {% include 'seo.html.twig' with { 'name': 'seo', 'default' : 'h2' } %}
  95.                             </div>
  96.                             <div class="w-1/2 overflow-hidden">
  97.                                 {% include 'color-selector.html.twig' with { 'name': 'seoHeadlineColor', 'description': 'Farbe der Überschrift', 'type': 'accordeon' } %}
  98.                             </div>
  99.                         </div>
  100.                         <hr />
  101.                         <div class="flex flex-wrap overflow-hidden">
  102.                             <div class="w-full overflow-hidden">
  103.                                 <p>Banner-Teaser: {{ pimcore_textarea("sliderteaser", { "height" : 100 }) }}</p>
  104.                             </div>
  105.                         </div>
  106.                         <br/>
  107.                         {% include 'color-selector.html.twig' with { 'name': 'textcolor', 'description': 'Schriftfarbe Teaser' } %}
  108.                         <br/>
  109.                         <div class="flex flex-wrap overflow-hidden">
  110.                             <div class="w-1/2 overflow-hidden">
  111.                                 Banner-Button Mehrlink:
  112.                             </div>
  113.                             <div class="w-1/2 overflow-hidden">
  114.                                 {{ pimcore_link("sliderlink") }}
  115.                             </div>
  116.                         </div>
  117.                         <br/>
  118.                         {% include 'color-selector.html.twig' with { 'name': 'buttoncolor', 'description': 'Button-Farbe', 'type': 'button' } %}
  119.                     </div>
  120.                 </div>
  121.             </div>
  122.             {% do block.blockEnd() %}
  123.             {% do block.blockDestruct() %}
  124.         {% endfor %}
  125.         {% do block.end() %}
  126.     </div>
  127.     {% include 'areaHeadAndFooter.html.twig' with { 'footer': true } %}
  128. {% else %}
  129.     {% set auswahl = pimcore_select("darstellung").getData() %}
  130.     {% set overlaywidth = pimcore_select("overlaywidth").getData() %}
  131.     {% set bgoverlay = '' %}
  132.     {% if pimcore_checkbox('overlay').isChecked() %}
  133.         {% set bgoverlay = 'bg-white bg-opacity-50 p-4 lg:p-10' %}
  134.     {% endif %}
  135.     <section class="md:{{ pimcore_select('paddingTop') }} {{ pimcore_select('paddingBottom') }} relative bg-white">
  136.         {% set isSlider = pimcore_block('gridblock').getCount() > 1 %}
  137.         <div x-data x-init="initHeroSlider($el)" class="relative overflow-hidden">
  138.             {% if isSlider %}
  139.             <div class="swiper-wrapper aspect-square aspect-video xl:aspect-auto xl:min-h-[700px] md:max-h-[700px]">
  140.                 {% endif %}
  141.                 {% set sliderdelay = 2000 %}
  142.                 {% if not pimcore_input("sliderdelay").isEmpty() %}
  143.                     {% set sliderdelay = pimcore_input("sliderdelay").getData() %}
  144.                 {% endif %}
  145.                 {% set block = pimcore_block('gridblock', {'manual' : true}).start() %}
  146.                 {% for b in block.iterator %}
  147.                 {% do block.blockConstruct() %}
  148.                 {% do block.blockStart() %}
  149.                 {% set seo = pimcore_select("seo").getData() %}
  150.                 {% set slideIndex = block.getCurrent() %}
  151.                 {% set bannerThumb = pimcore_image("sliderimage", {
  152.                     format: 'webp'
  153.                 }).getThumbnail('hero-slide-image') %}
  154.                 {# für Unterseiten #}
  155.                 {% if auswahl == 'header' %}
  156.                     {% set bannerThumb = pimcore_image("sliderimage").getThumbnail('hero-image') %}
  157.                 {% endif %}
  158.                 <div
  159.                     {{ (slideIndex > 0) ? 'x-cloak' }}
  160.                     class="{{ (isSlider) ? 'swiper-lazy swiper-slide' : 'lazy' }} aspect-square aspect-video xl:aspect-auto xl:min-h-[700px] md:max-h-[700px] flex justify-center lg:items-center w-full h-full bg-center bg-cover"
  161.                     data-background="{{ bannerThumb }}"
  162.                     data-bg="{{ bannerThumb }}"
  163.                     data-swiper-autoplay="{{ sliderdelay }}">
  164.                     {% if  bannerThumb != '' %}
  165.                         <div class="lazy-preloader"></div>
  166.                     {% endif %}
  167.                     <div class="container h-fit lg:h-auto flex lg:items-center mx-auto p-5">
  168.                         {% if pimcore_textarea("sliderheadline").getData() != '' %}
  169.                         <div class="w-full md:{{ overlaywidth }} {{ bgoverlay }} rounded-lg">
  170.                             <{{ seo }} class="text-{{ pimcore_select("seoHeadlineColor").getData() }}  block relative drop-shadow-md
  171.                             font-bold lg:leading-8xl text-3xl md:text-4xl lg:text-8xl w-full flex
  172.                             items-center">
  173.                             {{ pimcore_textarea("sliderheadline")|nl2br }}
  174.                         </{{ seo }}>
  175.                         {% if pimcore_textarea("sliderteaser").getData() != '' %}
  176.                             <span
  177.                                 class="relative text-{{ pimcore_select('textcolor') }} my-1 md:mt-5 drop-shadow-md font-bold lg:leading-8xl text-md sm:text-2xl md:text-3xl lg:text-6xl w-full flex items-center">
  178.                                                         {{ pimcore_textarea("sliderteaser")|nl2br }}
  179.                                                     </span>
  180.                         {% endif %}
  181.                         {% if pimcore_link("sliderlink") != '' %}
  182.                             {% include 'widgets/button.html.twig' with { name: 'sliderlink', backColor: pimcore_select('buttoncolor').getData() } %}
  183.                         {% endif %}
  184.                     </div>
  185.                     {% endif %}
  186.                     {% if not pimcore_checkbox('brotkrume').isChecked() %}
  187.                         <div class="absolute pb-2 w-full left-0 pt-2 bottom-0 text-white shadow-xl" class="{{ document != '/' ? 'bg-black bg-opacity-40' : '' }}">
  188.                             {% if not document is defined or not document %}
  189.                                 {% set document = pimcore_document(1) %}
  190.                             {% endif %}
  191.                             {% set mainNavStartNode = document.getProperty('mainNavStartNode') %}
  192.                             {% set mainNavigation = pimcore_build_nav({
  193.                                 active: document,
  194.                                 root: mainNavStartNode
  195.                             }) %}
  196.                             <div class="pl-16 my-breadcrumbs">
  197.                                 {% if document != '/' %}
  198.                                   <a href="/" class="main active-trail">HOME</a>
  199.                                     &gt; {{ pimcore_render_nav(mainNavigation, 'breadcrumbs') }}
  200.                                 {% endif %}
  201.                             </div>
  202.                         </div>
  203.                     {% endif %}
  204.                 </div>
  205.             </div>
  206.             {% do block.blockEnd() %}
  207.             {% do block.blockDestruct() %}
  208.             {% endfor %}
  209.             {% do block.end() %}
  210.             {% if pimcore_block('gridblock').getCount() > 1 %}
  211.         </div>
  212.         {% endif %}
  213.         {% if pimcore_block('gridblock').getCount() > 1 %}
  214.             <div
  215.                 class="swiper-pagination container left-1/2 -translate-x-1/2 mx-auto pb-4 sm:pb-8 lg:pb-10 pr-4 lg:pr-0"></div>
  216.         {% endif %}
  217.         </div>
  218.     </section>
  219. {% endif %}