templates/areas/headline-text/view.html.twig line 1

Open in your IDE?
  1. {% if editmode %}
  2.     <div class="edit-box">
  3.         <h1>KONFIGURATIONEN FÜR DEN AREABRICK:</h1>
  4.         <div class="flex gap-20">
  5.             <div class="content flex column gap-20">
  6.                 <div class="content-box">
  7.                     <p class="edit-p">H1 HEADLINE TEXT:</p>
  8.                     {{ pimcore_input('h1', {'placeholder':'H1 HEADLINE' }) }}
  9.                 </div>
  10.                 <div class="content-box flex gap-20">
  11.                     <div class="item">
  12.                         <p class="edit-p">Texttyp wählen:</p>
  13.                         {{ pimcore_select("TextType", {
  14.                             "reload": true,
  15.                             "store": [
  16.                                 ["lead", "Lead Text"],
  17.                                 ["basic", "Fliess Text"]
  18.                             ],
  19.                             "defaultValue" : "lead"
  20.                         }) }}
  21.                     </div>
  22.                     <div class="item">
  23.                         <p class="edit-p">Text breite:</p>
  24.                         {{ pimcore_select("TextWidth", {
  25.                             "reload": true,
  26.                             "store": [
  27.                                 ["full-width", "Voll"],
  28.                                 [" ", "Standard"]
  29.                             ],
  30.                             "defaultValue" : " "
  31.                         }) }}
  32.                     </div>
  33.                     <div class="item">
  34.                         <p class="edit-p">Buttons einfügen:</p>
  35.                         {{ pimcore_select("ButtonsRow", {
  36.                             "reload": true,
  37.                             "store": [
  38.                                 ["true", "Mit Buttons"],
  39.                                 ["false", "Ohne Buttons"]
  40.                             ],
  41.                             "defaultValue" : "false"
  42.                         }) }}
  43.                     </div>
  44.                     <div class="item">
  45.                         <p class="edit-p">Meilensteine einfügen:</p>
  46.                         {{ pimcore_select("Milestones", {
  47.                             "reload": true,
  48.                             "store": [
  49.                                 ["true", "Mit Meilensteine"],
  50.                                 ["false", "Ohne Meilensteine"],
  51.                             ],
  52.                             "defaultValue" : "false"
  53.                         }) }}
  54.                     </div>
  55.                     <div class="item">
  56.                         <p class="edit-p">Accordion einfügen:</p>
  57.                         {{ pimcore_select("Accordion", {
  58.                             "reload": true,
  59.                             "store": [
  60.                                 ["true", "Mit Jobs"],
  61.                                 ["false", "Ohne Jobs"],
  62.                             ],
  63.                             "defaultValue" : "false"
  64.                         }) }}
  65.                     </div>
  66.                     <div class="item">
  67.                         <p class="edit-p">Abstände oben und unten:</p>
  68.                         {{ pimcore_select("Padding", {
  69.                             "reload": true,
  70.                             "store": [
  71.                                 ["small", "Klein"],
  72.                                 ["default", "Normal"]
  73.                             ],
  74.                             "defaultValue" : "default"
  75.                         }) }}
  76.                     </div>
  77.                     <div class="item">
  78.                         <p class="edit-p">Hintergrund:</p>
  79.                         {{ pimcore_select("Background", {
  80.                             "reload": true,
  81.                             "store": [
  82.                                 ["bg-default", "Standard"],
  83.                                 ["transparent", "Ohne"]
  84.                             ],
  85.                             "defaultValue" : "bg-default"
  86.                         }) }}
  87.                     </div>
  88.                     <div class="item">
  89.                         <p class="edit-p">Team einfügen:</p>
  90.                         {{ pimcore_select("Team", {
  91.                             "reload": true,
  92.                             "store": [
  93.                                 ["true", "Mit Team"],
  94.                                 ["false", "Ohne Team"],
  95.                             ],
  96.                             "defaultValue" : "false"
  97.                         }) }}
  98.                     </div>
  99.                     <div class="item">
  100.                         <p class="edit-p">Video einfügen:</p>
  101.                         {{ pimcore_select("VideoSelect", {
  102.                             "reload": true,
  103.                             "store": [
  104.                                 ["true", "Mit Video"],
  105.                                 ["false", "Ohne Video"],
  106.                             ],
  107.                             "defaultValue" : "false"
  108.                         }) }}
  109.                     </div>
  110.                     <div class="item">
  111.                         <p class="edit-p">Anker Text:</p>
  112.                         {{ pimcore_input('anchor',{'placeholder':'Anker Text','width':300}) }}
  113.                     </div>
  114.                 </div>
  115.             </div>
  116.             <div class="content flex column gap-20">
  117.                 <div class="content-box">
  118.                     <div class="item">
  119.                         <p class="edit-p">Hintergrundbild ablegen:</p>
  120.                         {{ pimcore_relation("Image",{
  121.                             "reload": true,
  122.                             "types": ["asset"],
  123.                             "subtypes": {
  124.                                 "asset": ["image"]
  125.                             }
  126.                         }) }}
  127.                     </div>
  128.                 </div>
  129.                 <div class="content-box">
  130.                     <div class="item">
  131.                         <p class="edit-p">Schattenbild oben ablegen:</p>
  132.                         {{ pimcore_relation("ShadowImage",{
  133.                             "reload": false,
  134.                             "types": ["asset"],
  135.                             "subtypes": {
  136.                                 "asset": ["image"]
  137.                             }
  138.                         }) }}
  139.                     </div>
  140.                     <div class="item">
  141.                         <p class="edit-p">Schattenbild unten ablegen:</p>
  142.                         {{ pimcore_relation("ShadowImage2",{
  143.                             "reload": false,
  144.                             "types": ["asset"],
  145.                             "subtypes": {
  146.                                 "asset": ["image"]
  147.                             }
  148.                         }) }}
  149.                     </div>
  150.                 </div>
  151.                 {% if pimcore_select("VideoSelect").getData() == "true" %}
  152.                     <div class="content-box">
  153.                         <div class="item">
  154.                             <p class="edit-p">Video Vorschaubild ablegen:</p>
  155.                             {{ pimcore_relation("VideoPosterImage",{
  156.                                 "reload": true,
  157.                                 "types": ["asset"],
  158.                                 "subtypes": {
  159.                                     "asset": ["image"]
  160.                                 }
  161.                             }) }}
  162.                         </div>
  163.                         <br>
  164.                         <div class="item">
  165.                             <p class="edit-p">YouTube Link eintragen:</p>
  166.                             {{ pimcore_input("YouTubeLink") }}
  167.                         </div>
  168.                     </div>
  169.                 {% endif %}
  170.             </div>
  171.         </div>
  172.     </div>
  173. {% endif %}
  174. <section class="{% if pimcore_select("Team").getData() == "true" %}team-section {% endif %} {% if pimcore_select("Accordion").getData() == "true" %} accordion {% endif %} headline-text {% if not pimcore_relation("Image").isEmpty() %} light {% else %} light-beige {% endif %} {{ pimcore_select("Padding").getData() }} {{ pimcore_select("Background").getData() }}" {% if not pimcore_input('anchor').isEmpty() %}id="{{ pimcore_input('anchor').getData() }}"{% endif %}>
  175.     {% if not pimcore_relation("ShadowImage").isEmpty() and not editmode %}
  176.         <div class="shadow-image-con multi-area-shadow shadow-container">
  177.             {{ pimcore_relation("ShadowImage").getElement().getThumbnail('ShadowImage').html({
  178.                 imgAttributes: {
  179.                     "class": "shadow-image"
  180.                 }
  181.             }) | raw }}
  182.         </div>
  183.     {% endif %}
  184.     {% if not pimcore_relation("ShadowImage2").isEmpty() and not editmode %}
  185.         <div class="shadow-image-con multi-area-shadow multi-area-shadow-2">
  186.             {{ pimcore_relation("ShadowImage2").getElement().getThumbnail('ShadowImage').html({
  187.                 imgAttributes: {
  188.                     "class": "shadow-image"
  189.                 }
  190.             }) | raw }}
  191.         </div>
  192.     {% endif %}
  193.     {% if not pimcore_relation("Image").isEmpty() %}
  194.         {{ pimcore_relation("Image").getElement().getThumbnail('FullHD').html({
  195.             imgAttributes: {
  196.                 "class": "bg-image"
  197.             }
  198.         }) | raw }}
  199.     {% endif %}
  200.     {% if not pimcore_input('h1').isEmpty() and pimcore_select("VideoSelect").getData() == "false" %}
  201.         <h1 class="vertical">{{ pimcore_input('h1').getData() }}</h1>
  202.     {% endif %}
  203.     {% if pimcore_select("VideoSelect").getData() == "true" %}
  204.     <div class="video-section-container" style="position: relative;">
  205.     {% endif %}
  206.     <div class="container">
  207.         {% if not pimcore_input('h1').isEmpty() and pimcore_select("VideoSelect").getData() == "true" %}
  208.             <h1 class="vertical video-h1">{{ pimcore_input('h1').getData() }}</h1>
  209.         {% endif %}
  210.         {% if editmode %}
  211.             <h2>
  212.                 {{ pimcore_textarea("h2",{
  213.                     "nl2br": true,
  214.                     "height": 120,
  215.                     "placeholder": "H2 Headline Text"
  216.                 }) }}
  217.             </h2>
  218.             {% if pimcore_select("Milestones").getData() == "false" %}
  219.                 <div class="{{ pimcore_select("TextType").getData() }} {{ pimcore_select("TextWidth").getData() }}">
  220.                     {{ pimcore_wysiwyg('Content', {
  221.                         height: 200,
  222.                         customConfig: '/assets/js/editmode/config.js'
  223.                     }) }}
  224.                 </div>
  225.             {% endif %}
  226.         {% endif %}
  227.         {% if pimcore_select("Team").getData() == "true" %}
  228.         <div class="content-container">
  229.             {% endif %}
  230.             {% if not editmode and not pimcore_textarea("h2").isEmpty() %}
  231.                 <h2>{{ pimcore_textarea("h2").getData() | nl2br }}</h2>
  232.             {% endif %}
  233.             {% if not editmode and not pimcore_wysiwyg('Content').isEmpty() %}
  234.                 <div
  235.                     class="{{ pimcore_select("TextType").getData() }} {{ pimcore_select("TextWidth").getData() }} {% if not pimcore_textarea("h2").isEmpty() %}with-headline{% endif %}">
  236.                     {{ pimcore_wysiwyg('Content').getData() | raw }}
  237.                 </div>
  238.             {% endif %}
  239.             {{ pimcore_areablock('AreablockContent', {
  240.                 'allowed': [
  241.                     'text',
  242.                 ]
  243.             }) }}
  244.             {% if pimcore_select("Team").getData() == "true" %}
  245.         </div>
  246.         {% endif %}
  247.         {% if pimcore_select("ButtonsRow").getData() == "true" %}
  248.             {% if pimcore_select("Milestones").getData() == "false" %}
  249.             <div class="buttons-row flex {{ pimcore_select("TextWidth").getData() }} {% if not pimcore_relation("Image").isEmpty() %} negativ{% else %} default{% endif %}">
  250.                 {% for i in pimcore_block('linkblock').iterator %}
  251.                     <button class="primary">
  252.                         {{ pimcore_link('Link') }}
  253.                         <svg width="15.708" height="10.709" viewBox="0 0 15.708 10.709">
  254.                             <g transform="translate(0 0.354)">
  255.                                 <g transform="translate(0)">
  256.                                     <path class="line" d="M7.5,18h15" transform="translate(-7.5 -13)" fill="none" stroke="#b76e2b" stroke-linejoin="round" stroke-width="1"/>
  257.                                     <path class="arrow" d="M18,7.5l5.026,5L18,17.5" transform="translate(-8.027 -7.5)" fill="none" stroke="#b76e2b" stroke-width="1"/>
  258.                                 </g>
  259.                             </g>
  260.                         </svg>
  261.                     </button>
  262.                 {% endfor %}
  263.             </div>
  264.                 {% endif %}
  265.         {% endif %}
  266.         {% if pimcore_select("Milestones").getData() == "true" %}
  267.             <div class="milestones flex column">
  268.                 {% for i in pimcore_block('milestones-block').iterator %}
  269.                     <div class="stone">
  270.                         <p class="year">{{ pimcore_input('year', {'placeholder':'2000 - 2023', 'width': 200}) }}</p>
  271.                         <p class="content">{{ pimcore_input('content', {'placeholder':'Felix Hodel Gartenbau gründet seine Einzelfirma im Grabenhof, Kriens'}) }}</p>
  272.                     </div>
  273.                 {% endfor %}
  274.             </div>
  275.         {% endif %}
  276.         {% if pimcore_select("Accordion").getData() == "true" %}
  277.             <div class="accordion-items flex column benefits">
  278.                 <div class="content-container">
  279.                     <div class="block">
  280.                         {% if editmode %}
  281.                             {{ pimcore_relations("JobRelations", {
  282.                                 "title": "Jobs Objekte ablegen:",
  283.                                 "types": ["object"],
  284.                                 "subtypes": {
  285.                                     "object": ["object"]
  286.                                 },
  287.                                 "classes": ["Job"]
  288.                             }) }}
  289.                         {% else %}
  290.                             {% for job in pimcore_relations("JobRelations") %}
  291.                                 <div class="parent block-accordion">
  292.                                     <input type="radio" name="item"
  293.                                            id="{{ pimcore_relations("JobRelations").current() }}" hidden/>
  294.                                     <label for="{{ pimcore_relations("JobRelations").current() }}">
  295.                                         <span class="headline">{{ job.headline | nl2br }}</span>
  296.                                         <span class="text-intro">{{ job.intro | nl2br }}</span>
  297.                                     </label>
  298.                                     <div>
  299.                                         {#{% if job.image %}
  300.                                         {{ job.image.thumbnail('JobAccordion').getHtml({
  301.                                             imgAttributes : {
  302.                                                 'class':'job-acc-image'
  303.                                             }
  304.                                         }) | raw }}
  305.                                             <br>
  306.                                             <br>
  307.                                         {% endif %}#}
  308.                                         {{ job.text | raw }}
  309.                                     </div>
  310.                                 </div>
  311.                             {% endfor %}
  312.                         {% endif %}
  313.                     </div>
  314.                 </div>
  315.             </div>
  316.         {% endif %}
  317.     </div>
  318.     {% if pimcore_select("VideoSelect").getData() == "true" %}
  319.     </div>
  320.     {% endif %}
  321.     {% if pimcore_select("VideoSelect").getData() == "true" and not pimcore_relation("VideoPosterImage").isEmpty() %}
  322.         <div class="video-section">
  323.             {{ pimcore_relation("VideoPosterImage").getElement().getThumbnail('VideoPosterImage').getHtml() | raw }}
  324.             <button class="play">
  325.                 <a href="{{ pimcore_input("YouTubeLink").getData() }}" target="_blank">
  326.                     <svg width="165.583" height="165.583" viewBox="0 0 165.583 165.583">
  327.                         <path id="Icon_ionic-ios-play-circle" data-name="Icon ionic-ios-play-circle"
  328.                               d="M86.166,3.375a82.791,82.791,0,1,0,82.792,82.791A82.779,82.779,0,0,0,86.166,3.375Zm33.355,84.344L64.911,120.756a1.771,1.771,0,0,1-2.667-1.552V53.13a1.764,1.764,0,0,1,2.667-1.552l54.611,33.037A1.825,1.825,0,0,1,119.522,87.719Z"
  329.                               transform="translate(-3.375 -3.375)" fill="#fff" opacity="0.6"/>
  330.                     </svg>
  331.                 </a>
  332.             </button>
  333.         </div>
  334.         <div class="container">
  335.             {{ pimcore_areablock('AreablockVideo', {
  336.                 'allowed': [
  337.                     'text',
  338.                 ]
  339.             }) }}
  340.         </div>
  341.     {% endif %}
  342.     {% if pimcore_select("Team").getData() == "true" %}
  343.         {% if editmode %}
  344.             <div class="container">
  345.                 {{ pimcore_relations("Categories", {
  346.                     "title": "Team Kategorie Objekte ablegen",
  347.                     "types": ["object"],
  348.                     "subtypes": {
  349.                         "object": ["object"]
  350.                     },
  351.                     "classes": ["Category"]
  352.                 }) }}
  353.                 <br>
  354.                 <br>
  355.                 {{ pimcore_relations("teamPerson", {
  356.                     "title": "Team Objekte ablegen",
  357.                     "types": ["object"],
  358.                     "subtypes": {
  359.                         "object": ["object"]
  360.                     },
  361.                     "classes": ["teamPerson"]
  362.                 }) }}
  363.             </div>
  364.         {% else %}
  365.             <div class="container">
  366.                 <div id="filters" class="toolbar {% if pimcore_relations("Categories") | length >= 5 %}big{% endif %}">
  367.                     <div class="flex space-between all-items">
  368.                         <button class="filter active all-btn"
  369.                                 data-filter="grid-item">{{ 'Alle_filter' | trans }}</button>
  370.                         <span class="open-filter" id="open-filter"></span>
  371.                     </div>
  372.                     {% for category in pimcore_relations("Categories") %}
  373.                         {% set categoryName = category.name | lower | replace({" ": "","/":"","-":"","&":"",",":"",".":"","(":"",")":"","+":""}) %}
  374.                         <button class="filter" data-rel="{{ categoryName }}" data-filter="{{ categoryName }}">{{ category.name }}</button>
  375.                     {% endfor %}
  376.                 </div>
  377.             </div>
  378.             <div class="grid" id="portfolio">
  379.                 {% for teamPerson in pimcore_relations("teamPerson") %}
  380.                     <div class="grid-item {% if teamPerson.plant == true %} plant {% endif %} {% for teamCategory in teamPerson.getCategory() %}{{ teamCategory.name | lower | replace({" ": "","/":"","-":"","&":"",",":"",".":"","(":"",")":"","+":""}) }} {% endfor %} {{ teamPerson.teaserSize }}">
  381.                         <div class="container">
  382.                             {% if teamPerson.filter %}
  383.                             {{ teamPerson.portraitimage.thumbnail('TeamOverview').getHtml({
  384.                                 imgAttributes : {
  385.                                     'class':'filter'
  386.                                 }
  387.                             }) | raw }}
  388.                             {% else %}
  389.                                 {{ teamPerson.portraitimage.thumbnail('TeamOverview').getHtml({
  390.                                     imgAttributes : {
  391.                                         'class':'no-filter'
  392.                                     }
  393.                                 }) | raw }}
  394.                             {% endif %}
  395.                             {% if not teamPerson.plant == true %}
  396.                             <div class="name">
  397.                                 <p>{{ teamPerson.name }}</p>
  398.                             </div>
  399.                             <div class="close-btn">
  400.                                 <button>
  401.                                     <svg x="0px" y="0px" viewBox="0 0 55 55">
  402.                                         <g>
  403.                                             <path d="M49,8.5v-8H0v47h7v7h48v-46H49z M2,45.5v-43h45v6H7v37H2z M53,52.5H9v-5v-37h40h4V52.5z"/>
  404.                                             <path d="M39.485,23.015c-0.391-0.391-1.023-0.391-1.414,0L31,30.086l-7.071-7.071c-0.391-0.391-1.023-0.391-1.414,0
  405.                                                 s-0.391,1.023,0,1.414l7.071,7.071l-7.071,7.071c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293
  406.                                                 s0.512-0.098,0.707-0.293L31,32.914l7.071,7.071c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293
  407.                                                 c0.391-0.391,0.391-1.023,0-1.414L32.414,31.5l7.071-7.071C39.876,24.038,39.876,23.405,39.485,23.015z"/>
  408.                                         </g>
  409.                                     </svg>
  410.                                 </button>
  411.                             </div>
  412.                             <div class="description">
  413.                                 {% if teamPerson.name %}
  414.                                     <p class="name-label">{{ teamPerson.name }}</p>
  415.                                 {% endif %}
  416.                                 {% if teamPerson.function %}
  417.                                     <p class="function">{{ teamPerson.function }}</p>
  418.                                 {% endif %}
  419.                                 {% if teamPerson.text %}
  420.                                     <div class="desc-text">
  421.                                         {{ teamPerson.text | raw }}
  422.                                     </div>
  423.                                 {% endif %}
  424.                                 {% if teamPerson.phone %}
  425.                                     <a class="link-item" href="tel:{{ teamPerson.phone }}">{{ teamPerson.phone }}</a>
  426.                                 {% endif %}
  427.                                 {% if teamPerson.email %}
  428.                                     <a class="link-item" href="mailto:{{ teamPerson.email }}">{{ teamPerson.email }}</a>
  429.                                 {% endif %}
  430.                             </div>
  431.                             {% endif %}
  432.                         </div>
  433.                     </div>
  434.                 {% endfor %}
  435.             </div>
  436.         {% endif %}
  437.     {% endif %}
  438. </section>
  439. {#
  440. <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.1/gsap.min.js"></script>
  441. <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.1/ScrollTrigger.min.js"></script>
  442. <script>
  443.     gsap.from('#headline-text-h1', {
  444.         scrollTrigger : {
  445.             scrub: true
  446.         },
  447.         x: -90
  448.     })
  449. </script>
  450. #}