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

Open in your IDE?
  1. {% set headlineTag = pimcore_select('headlineTag', {
  2.     'store': [
  3.         ['none', 'none'],
  4.         ['h1', 'H1'],
  5.         ['h2', 'H2'],
  6.         ['h3', 'H3'],
  7.         ['h4', 'H4'],
  8.         ['h5', 'H5'],
  9.         ['h6', 'H6'],
  10.     ],
  11.     'defaultValue': '',
  12.     'reload': true
  13. }) %}
  14. {% if headlineTag.isEmpty() %}
  15.     {% do headlineTag.setDataFromResource('h2') %}
  16. {% endif %}
  17. {% set headline1 = headlineTag.data != 'none' ? headlineTag.data|raw : 'span'|raw %}
  18. {% set headline2 = headlineTag.data != 'none' ? '</' ~ headlineTag.data|raw ~ '>' : '</span>'|raw %}
  19. {% set twoCards = pimcore_checkbox('twoCards') %}
  20. {% if twoCards.isChecked() %}
  21.     {% set setTwoCards = '--two-cards' %}
  22. {% else %}
  23.     {% set setTwoCards = '' %}
  24. {% endif %}
  25. {% set backgroundGrey = pimcore_checkbox('background') %}
  26. {% if backgroundGrey.isChecked() %}
  27.     {% set setBackground = '--background-grey' %}
  28. {% else %}
  29.     {% set setBackground = '' %}
  30. {% endif %}
  31. {% if editmode %}
  32.     <div class="edit-box editmode">
  33.         <h1>KONFIGURATIONEN FÜR DEN AREABRICK:</h1>
  34.         <div class="flex gap-20">
  35.             <div class="content flex column gap-20">
  36.                 <div class="content-box flex gap-20">
  37.                     <div class="item">
  38.                         <p class="edit-p">Abstand nach unten wählen:</p>
  39.                         {{ pimcore_select("MarginBottom", {
  40.                             "reload": true,
  41.                             "store": [
  42.                                 ["regular", "Normal"],
  43.                                 ["half", "1/2"],
  44.                                 ["small", "1/4"],
  45.                                 ["zero", "kein Abstand"],
  46.                             ],
  47.                             "defaultValue" : "regular"
  48.                         }) }}
  49.                     </div>
  50.                     <div class="item">
  51.                         <p class="edit-p">Titel-Typ definieren:</p>
  52.                         {{ headlineTag|raw }}
  53.                     </div>
  54.                     <div class="item">
  55.                         <p class="edit-p">Two Cards</p>
  56.                         {{ twoCards|raw }}
  57.                     </div>
  58.                     <div class="item">
  59.                         <p class="edit-p">Grey Background</p>
  60.                         {{ backgroundGrey|raw }}
  61.                     </div>
  62.                 </div>
  63.             </div>
  64.         </div>
  65.     </div>
  66. {% endif %}
  67. <section class="portal-teaser {{ pimcore_select('MarginBottom').getData() }}">
  68.     <div class="container">
  69.         <div class="headline-container">
  70.             {% if editmode %}
  71.                 <div class="portal-teaser__title">
  72.                     {{ pimcore_textarea("headline",{
  73.                         "nl2br": true,
  74.                         "height": 100,
  75.                         "placeholder": "HAUPT ÜBERSCHRIFT FÜR DIESE AREA"
  76.                     }) }}                </div>
  77.             {% elseif not pimcore_textarea('headline').isEmpty() %}
  78.                 <{{headline1|raw}} class="portal-teaser__title">
  79.                     {{ pimcore_textarea('headline').getData() | nl2br }}
  80.                 {{ headline2|raw }}
  81.             {% endif %}
  82.         </div>
  83.         <div class="portal-teaser-container flex gap-20">
  84.             <div class="portal-teaser-slider flex column {{ setBackground }}">
  85.                 <div class="img-container">
  86.                     {% set galleryObjectLeft = pimcore_relation('teaserSliderLeft', {
  87.                         'types': ['object'],
  88.                         'classes': ['TeaserSlider'],
  89.                         'reload': false,
  90.                         'required': true
  91.                     }) %}
  92.                     {% set galleryLeft = galleryObjectLeft.getElement() %}
  93.                     {% if galleryLeft is defined and galleryLeft is not null %}
  94.                         <div class="teaser-slider">
  95.                             <div class="teaser-slider-inner">
  96.                                 {% for image in galleryLeft.getImages() %}
  97.                                     <div class="teaser-slider-image {% if loop.first %}--active{% endif %}">
  98.                                         {{ image.thumbnail('PortalTeaser').html({
  99.                                             'disableWidthHeightAttributes': true,
  100.                                             'imgAttributes': {
  101.                                                 'width': 927,
  102.                                                 'height': 320,
  103.                                                 'loading': 'lazy'
  104.                                             }
  105.                                         })|raw }}
  106.                                     </div>
  107.                                 {% endfor %}
  108.                             </div>
  109.                             {% if galleryLeft.getImages()|length > 1 %}
  110.                                 <button class="slider-prev">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  111.                                 <button class="slider-next">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  112.                             
  113.                                 <div class="slider-pagination">
  114.                                     {% for slider in galleryLeft.getImages() %}
  115.                                         <div class="slider-pagination-item {% if loop.first %}--active{% endif %}"></div>
  116.                                     {% endfor %}
  117.                                 </div>
  118.                             {% endif %}
  119.                         </div>
  120.                     {% endif %}
  121.                     {% if editmode %}
  122.                         {{ galleryObjectLeft|raw }}
  123.                     {% endif %}
  124.                 </div>
  125.                 <div class="text-container">
  126.                     {% set headlineTagX = pimcore_select('headlineTagX', {
  127.                         'store': [
  128.                             ['none', 'none'],
  129.                             ['h1', 'H1'],
  130.                             ['h2', 'H2'],
  131.                             ['h3', 'H3'],
  132.                             ['h4', 'H4'],
  133.                             ['h5', 'H5'],
  134.                             ['h6', 'H6'],
  135.                         ],
  136.                         'defaultValue': '',
  137.                         'reload': true
  138.                     }) %}
  139.                     {% if headlineTagX.isEmpty() %}
  140.                         {% do headlineTagX.setDataFromResource('h2') %}
  141.                     {% endif %}
  142.                     {% set headline1X = headlineTagX.data != 'none' ? headlineTagX.data|raw : 'span'|raw %}
  143.                     {% set headline2X = headlineTagX.data != 'none' ? '</' ~ headlineTagX.data|raw ~ '>' : '</span>'|raw %}
  144.                     {% if editmode %}
  145.                         <div class="item">
  146.                             <p class="edit-p">Titel-Typ definieren:</p>
  147.                             {{ headlineTagX|raw }}
  148.                         </div>
  149.                         <h3 class="teaser-headline">
  150.                             {{ pimcore_textarea("headline_teaser_left",{
  151.                                 "nl2br": true,
  152.                                 "height": 100,
  153.                                 "placeholder": "HAUPT ÜBERSCHRIFT FÜR DIESE AREA"
  154.                             }) }}
  155.                         </h3>
  156.                     {% elseif not editmode and not pimcore_textarea('headline_teaser_left').isEmpty() %}
  157.                         <{{ headline1X|raw }} class="teaser-headline">
  158.                             {{ pimcore_textarea('headline_teaser_left').getData() | nl2br }}
  159.                         {{ headline2X|raw }}
  160.                     {% endif %}
  161.                     {% if editmode %}
  162.                         <p>{{ pimcore_textarea("text_teaser_left",{
  163.                                 "nl2br": true,
  164.                                 "height": 100,
  165.                                 "placeholder": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat."
  166.                             }) }}
  167.                         </p>
  168.                     {% elseif not editmode and not pimcore_textarea('text_teaser_left').isEmpty() %}
  169.                         <p>{{ pimcore_textarea('text_teaser_left').getData() | nl2br }}</p>
  170.                     {% endif %}
  171.                 </div>
  172.                 <div class="buttons-row flex center">
  173.                     {% if editmode %}
  174.                         {{ pimcore_link('left') }}
  175.                     {% elseif not editmode and not pimcore_link('left').isEmpty() %}
  176.                         <div class="btn secondary">
  177.                             {% if pimcore_link('left').getTarget() %}
  178.                                 {% set target = pimcore_link('left').getTarget() %}
  179.                             {% else %}
  180.                                 {% set target = '_self' %}
  181.                             {% endif %}
  182.                             <a class="flex" href="{{ pimcore_link('left').getHref() }}" target="{{ target }}">
  183.                                 <span>{{ pimcore_link('left').getText() }} <svg width="15.708" height="10.709" viewBox="0 0 15.708 10.709">
  184.                                         <g transform="translate(0 0.354)">
  185.                                             <g transform="translate(0)">
  186.                                                 <path class="line" d="M7.5,18h15" transform="translate(-7.5 -13)" fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="1"/>
  187.                                                 <path class="arrow" d="M18,7.5l5.026,5L18,17.5" transform="translate(-8.027 -7.5)" fill="none" stroke="#fff" stroke-width="1"/>
  188.                                             </g>
  189.                                         </g>
  190.                                     </svg>
  191.                                 </span>
  192.                             </a>
  193.                             <div class="button-shape">
  194.                                 {{include('svg/button-shape.html.twig')}}
  195.                             </div>
  196.                         </div>
  197.                     {% endif %}
  198.                 </div>
  199.             </div>
  200.             <div class="portal-teaser-slider flex column {{ setBackground }}">
  201.                 <div class="img-container">
  202.                     {% set galleryObjectMiddle = pimcore_relation('teaserSliderMiddle', {
  203.                         'types': ['object'],
  204.                         'classes': ['TeaserSlider'],
  205.                         'reload': false,
  206.                         'required': true
  207.                     }) %}
  208.                     {% set galleryMiddle = galleryObjectMiddle.getElement() %}
  209.                     
  210.                     {% if galleryMiddle is defined and galleryMiddle is not null %}
  211.                         <div class="teaser-slider">
  212.                             <div class="teaser-slider-inner">
  213.                                 {% for image in galleryMiddle.getImages() %}
  214.                                     <div class="teaser-slider-image {% if loop.first %}--active{% endif %}">
  215.                                         {{ image.thumbnail('PortalTeaser').html({
  216.                                             'disableWidthHeightAttributes': true,
  217.                                             'imgAttributes': {
  218.                                                 'width': 927,
  219.                                                 'height': 320,
  220.                                                 'loading': 'lazy'
  221.                                             }
  222.                                         })|raw }}
  223.                                     </div>
  224.                                 {% endfor %}
  225.                             </div>
  226.                             {% if galleryMiddle.getImages()|length > 1 %}
  227.                                 <button class="slider-prev">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  228.                                 <button class="slider-next">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  229.                             
  230.                                 <div class="slider-pagination">
  231.                                     {% for slider in galleryMiddle.getImages() %}
  232.                                         <div class="slider-pagination-item {% if loop.first %}--active{% endif %}"></div>
  233.                                     {% endfor %}
  234.                                 </div>
  235.                             {% endif %}
  236.                         </div>
  237.                     {% endif %}
  238.                     {% if editmode %}
  239.                         {{ galleryObjectMiddle|raw }}
  240.                     {% endif %}
  241.                 </div>
  242.                 <div class="text-container">
  243.                     {% set headlineTagY = pimcore_select('headlineTagY', {
  244.                         'store': [
  245.                             ['none', 'none'],
  246.                             ['h1', 'H1'],
  247.                             ['h2', 'H2'],
  248.                             ['h3', 'H3'],
  249.                             ['h4', 'H4'],
  250.                             ['h5', 'H5'],
  251.                             ['h6', 'H6'],
  252.                         ],
  253.                         'defaultValue': '',
  254.                         'reload': true
  255.                     }) %}
  256.                     {% if headlineTagY.isEmpty() %}
  257.                         {% do headlineTagY.setDataFromResource('h2') %}
  258.                     {% endif %}
  259.                     {% set headline1Y = headlineTagY.data != 'none' ? headlineTagY.data|raw : 'span'|raw %}
  260.                     {% set headline2Y = headlineTagY.data != 'none' ? '</' ~ headlineTagY.data|raw ~ '>' : '</span>'|raw %}
  261.                     {% if editmode %}
  262.                         <div class="item">
  263.                             <p class="edit-p">Titel-Typ definieren:</p>
  264.                             {{ headlineTagY|raw }}
  265.                         </div>                        
  266.                         
  267.                         <h3 class="teaser-headline">{{ pimcore_textarea("headline_teaser_center",{
  268.                                 "nl2br": true,
  269.                                 "height": 100,
  270.                                 "placeholder": "HAUPT ÜBERSCHRIFT FÜR DIESE AREA"
  271.                             }) }}
  272.                         </h3>
  273.                     {% elseif not editmode and not pimcore_textarea('headline_teaser_center').isEmpty() %}
  274.                         <{{ headline1Y|raw }} class="teaser-headline">
  275.                             {{ pimcore_textarea('headline_teaser_center').getData() | nl2br }}
  276.                         {{ headline2Y|raw}}
  277.                     {% endif %}
  278.                     {% if editmode %}
  279.                         <p>{{ pimcore_textarea("text_teaser_center",{
  280.                                 "nl2br": true,
  281.                                 "height": 100,
  282.                                 "placeholder": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat."
  283.                             }) }}
  284.                         </p>
  285.                     {% elseif not editmode and not pimcore_textarea('text_teaser_center').isEmpty() %}
  286.                         <p>{{ pimcore_textarea('text_teaser_center').getData() | nl2br }}</p>
  287.                     {% endif %}
  288.                 </div>
  289.                 <div class="buttons-row flex center">
  290.                     {% if editmode %}
  291.                         {{ pimcore_link('center') }}
  292.                     {% elseif not editmode and not pimcore_link('center').isEmpty() %}
  293.                         <div class="btn secondary">
  294.                             {% if pimcore_link('left').getTarget() %}
  295.                                 {% set target = pimcore_link('left').getTarget() %}
  296.                             {% else %}
  297.                                 {% set target = '_self' %}
  298.                             {% endif %}
  299.                             <a class="flex" href="{{ pimcore_link('left').getHref() }}" target="{{ target }}">
  300.                                 <span>{{ pimcore_link('center').getText() }} <svg width="15.708" height="10.709" viewBox="0 0 15.708 10.709">
  301.                                         <g transform="translate(0 0.354)">
  302.                                             <g transform="translate(0)">
  303.                                                 <path class="line" d="M7.5,18h15" transform="translate(-7.5 -13)" fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="1"/>
  304.                                                 <path class="arrow" d="M18,7.5l5.026,5L18,17.5" transform="translate(-8.027 -7.5)" fill="none" stroke="#fff" stroke-width="1"/>
  305.                                             </g>
  306.                                         </g>
  307.                                     </svg>
  308.                                 </span>
  309.                             </a>
  310.                             <div class="button-shape">
  311.                                 {{include('svg/button-shape.html.twig')}}
  312.                             </div>
  313.                         </div>
  314.                     {% endif %}
  315.                 </div>
  316.             </div>
  317.             <div class="portal-teaser-slider flex column {{ setBackground }} {{ setTwoCards }}">
  318.                 <div class="img-container">
  319.                     {% set galleryObjectRight = pimcore_relation('teaserSliderRight', {
  320.                         'types': ['object'],
  321.                         'classes': ['TeaserSlider'],
  322.                         'reload': false,
  323.                         'required': true
  324.                     }) %}
  325.                     {% set galleryRight = galleryObjectRight.getElement() %}
  326.                     {% if galleryRight is defined and galleryRight is not null %}
  327.                         <div class="teaser-slider">
  328.                             <div class="teaser-slider-inner">
  329.                                 {% for image in galleryRight.getImages() %}
  330.                                     <div class="teaser-slider-image {% if loop.first %}--active{% endif %}">
  331.                                         {{ image.thumbnail('PortalTeaser').html({
  332.                                             'disableWidthHeightAttributes': true,
  333.                                             'imgAttributes': {
  334.                                                 'width': 927,
  335.                                                 'height': 320,
  336.                                                 'loading': 'lazy'
  337.                                             }
  338.                                         })|raw }}
  339.                                     </div>
  340.                                 {% endfor %}
  341.                             </div>
  342.                             {% if galleryRight.getImages()|length > 1 %}
  343.                                 <button class="slider-prev">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  344.                                 <button class="slider-next">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  345.                             
  346.                                 <div class="slider-pagination">
  347.                                     {% for slider in galleryRight.getImages() %}
  348.                                         <div class="slider-pagination-item {% if loop.first %}--active{% endif %}"></div>
  349.                                     {% endfor %}
  350.                                 </div>
  351.                             {% endif %}
  352.                         </div>
  353.                     {% endif %}
  354.                     {% if editmode %}
  355.                         {{ galleryObjectRight|raw }}
  356.                     {% endif %}
  357.                 </div>
  358.                 <div class="text-container">
  359.                     {% set headlineTagZ = pimcore_select('headlineTagZ', {
  360.                         'store': [
  361.                             ['none', 'none'],
  362.                             ['h1', 'H1'],
  363.                             ['h2', 'H2'],
  364.                             ['h3', 'H3'],
  365.                             ['h4', 'H4'],
  366.                             ['h5', 'H5'],
  367.                             ['h6', 'H6'],
  368.                         ],
  369.                         'defaultValue': '',
  370.                         'reload': true
  371.                     }) %}
  372.                     {% if headlineTagZ.isEmpty() %}
  373.                         {% do headlineTagZ.setDataFromResource('h2') %}
  374.                     {% endif %}
  375.                     {% set headline1Z = headlineTagZ.data != 'none' ? headlineTagZ.data|raw : 'span'|raw %}
  376.                     {% set headline2Z = headlineTagZ.data != 'none' ? '</' ~ headlineTagZ.data|raw ~ '>' : '</span>'|raw %}
  377.                     {% if editmode %}
  378.                         <div class="item">
  379.                             <p class="edit-p">Titel-Typ definieren:</p>
  380.                             {{ headlineTagZ|raw }}
  381.                         </div>                            <h3 class="teaser-headline">{{ pimcore_textarea("headline_teaser_right",{
  382.                                 "nl2br": true,
  383.                                 "height": 100,
  384.                                 "placeholder": "HAUPT ÜBERSCHRIFT FÜR DIESE AREA"
  385.                             }) }}
  386.                         </h3>
  387.                     {% elseif not editmode and not pimcore_textarea('headline_teaser_right').isEmpty() %}
  388.                         <{{ headline1Z|raw }} class="teaser-headline">
  389.                             {{ pimcore_textarea('headline_teaser_right').getData() | nl2br }}
  390.                         {{ headline2Z|raw }}
  391.                     {% endif %}
  392.                     {% if editmode %}
  393.                         <p>{{ pimcore_textarea("text_teaser_right",{
  394.                                 "nl2br": true,
  395.                                 "height": 100,
  396.                                 "placeholder": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat."
  397.                             }) }}
  398.                         </p>
  399.                     {% elseif not editmode and not pimcore_textarea('text_teaser_right').isEmpty() %}
  400.                         <p>{{ pimcore_textarea('text_teaser_right').getData() | nl2br }}</p>
  401.                     {% endif %}
  402.                 </div>
  403.                 <div class="buttons-row flex center">
  404.                     {% if editmode %}
  405.                         {{ pimcore_link('right') }}
  406.                     {% elseif not editmode and not pimcore_link('right').isEmpty() %}
  407.                         <div class="btn secondary">
  408.                             {% if pimcore_link('left').getTarget() %}
  409.                                 {% set target = pimcore_link('left').getTarget() %}
  410.                             {% else %}
  411.                                 {% set target = '_self' %}
  412.                             {% endif %}
  413.                             <a class="flex" href="{{ pimcore_link('left').getHref() }}" target="{{ target }}">
  414.                                 <span>{{ pimcore_link('right').getText() }} <svg width="15.708" height="10.709" viewBox="0 0 15.708 10.709">
  415.                                         <g transform="translate(0 0.354)">
  416.                                             <g transform="translate(0)">
  417.                                                 <path class="line" d="M7.5,18h15" transform="translate(-7.5 -13)" fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="1"/>
  418.                                                 <path class="arrow" d="M18,7.5l5.026,5L18,17.5" transform="translate(-8.027 -7.5)" fill="none" stroke="#fff" stroke-width="1"/>
  419.                                             </g>
  420.                                         </g>
  421.                                     </svg>
  422.                                 </span>
  423.                             </a>
  424.                             <div class="button-shape">
  425.                                 {{include('svg/button-shape.html.twig')}}
  426.                             </div>
  427.                         </div>
  428.                     {% endif %}
  429.                 </div>
  430.             </div>
  431.         </div>
  432.     </div>
  433. </section>