templates/services/Schemaorg/strukturierte-daten.html.twig line 1

Open in your IDE?
  1. {% if editmode %}
  2.      {{ include('includes/backend-kopf.html.twig') }}
  3.     
  4.     {% set tabContentArray = {} %}
  5.     {% if parentAction == 'package' %}
  6.             {% set tabContentArray = {1: 'Optional'} %}
  7.     {% else %}
  8.             {% set tabContentArray = {1: 'Organization', 2: 'Hotel', 3: 'Business'} %}
  9.     {% endif %}
  10.     <div id="content">    
  11.         {% set tab = 1 %}    
  12.             {% if tabContentArray is defined and tab in tabContentArray|keys %}
  13.                 {{ admin_tabs(tab, tabContentArray) | raw }}
  14.            
  15.             <section class="tabContent">
  16.                 {% set richSnippetOrganizationColor = pimcore_checkbox('RichSnippetOrganization').isChecked() ? 'green' : 'red' %}
  17.                 <div style="width:200px;background-color: #fff; color:{{ richSnippetOrganizationColor }};float:left;white-space: nowrap;padding-left: 40px;">
  18.                     <strong>Rich Snippets ausgeben:</strong>
  19.                     {{ pimcore_checkbox('RichSnippetOrganization', {'reload': true}) }}
  20.                 </div>  
  21.                 <br />
  22.                 {% set clearlyName1 = 'organization_' %}
  23.                 {% set clearlyName2 = clearlyName1~'address_' %}
  24.                 <div class="primaryNav">
  25.                     <ul>
  26.                         <li><a style="background-color: #c20035;color:#ffffff;font-weight: bold;">Schema Organization </a>
  27.                             <ul>
  28.                                 <li><a><div class="keytext">Key: @context</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'context', {"width": 500}) }}</span></a></li>
  29.                                 <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'type', {"width": 500}) }}</span></a></li>
  30.                                 <li><a><div class="keytext">Key: @id</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'id', {"width": 500}) }}</span></a></li>
  31.                                 <li><a><div class="keytext">Key: url</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'url', {"width": 500}) }}</span></a></li>
  32.                                 <li><a><div class="keytext">Key: name</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'name', {"width": 500}) }}</span></a></li>
  33.                                 <li><a><div class="keytext">Key: description</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'description', {"width": 500}) }}</span></a></li>
  34.                                 <li><a><div class="keytext">Key: email</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'email', {"width": 500}) }}</span></a></li>
  35.                                 <li><a><div class="keytext">Key: telephone</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'telephone', {"width": 500}) }}</span></a></li>
  36.                                 <li><a><div class="keytext">Key: faxNumber</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'faxNumber', {"width": 500}) }}</span></a></li>
  37.                                 <li><a style="font-weight: bold;">address</a>
  38.                                     <ul>
  39.                                         <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'type', {"width": 500}) }}</span></a></li>
  40.                                         <li><a><div class="keytext">Key: addressCountry</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'addressCountry', {"width": 500}) }}</span></a></li>
  41.                                         <li><a><div class="keytext">Key: addressLocality</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'addressLocality', {"width": 500}) }}</span></a></li>
  42.                                         <li><a><div class="keytext">Key: addressRegion</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'addressRegion', {"width": 500}) }}</span></a></li>
  43.                                         <li><a><div class="keytext">Key: postalCode</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'postalCode', {"width": 500}) }}</span></a></li>
  44.                                         <li><a><div class="keytext">Key: streetAddress</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'streetAddress', {"width": 500}) }}</span></a></li>
  45.                                     </ul>
  46.                                 </li>
  47.                                 <li><a><div class="keytext">Key: image</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'image', {"width": 500}) }}</span></a></li>
  48.                                 <li><a><div class="keytext">Key: logo</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'logo', {"width": 500}) }}</span></a></li>
  49.                                 <li><a><div class="keytext">Key: sameAs</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'sameAs', {"width": 500}) }}</span></a></li>
  50.                             </ul>
  51.                         </li>
  52.                     </ul>
  53.                 </div>
  54.             </section>
  55.             {% endif %} 
  56.             {% set tab = 2 %}    
  57.             {% if tabContentArray is defined and tab in tabContentArray|keys %}
  58.                 {{ admin_tabs(tab, tabContentArray) | raw }}
  59.                 <section class="tabContent">
  60.                    {% set richSnippetOrganizationColor = pimcore_checkbox('RichSnippetHotel').isChecked() ? 'green' : 'red' %}
  61.                     <div style="width:200px;background-color: #fff; color:{{ richSnippetOrganizationColor }};float:left;white-space: nowrap;padding-left: 40px;">
  62.                         <strong>Rich Snippets ausgeben:</strong>
  63.                         {{ pimcore_checkbox('RichSnippetHotel', {'reload': true}) }}
  64.                     </div>  
  65.                      <br />
  66.                     {% set clearlyName1 = 'hotel_' %}
  67.                     {% set clearlyName2 = clearlyName1~'brand_' %}
  68.                     {% set clearlyName3 = clearlyName1~'containsPlace_' %}
  69.                     {% set clearlyName4 = clearlyName3~'bed_' %}
  70.                     {% set clearlyName5 = clearlyName1~'occupancy_' %}
  71.                     {% set clearlyName6 = clearlyName1~'amenityFeature_' %}
  72.                     {% set clearlyName7 = clearlyName1~'floorSize_' %}
  73.                     {% set clearlyName8 = clearlyName1~'address_' %}
  74.                     {% set clearlyName9 = clearlyName1~'aggregateRating_' %}
  75.                     <div class="primaryNav">
  76.                     <ul>
  77.                         <li><a style="background-color: #c20035;color:#ffffff;font-weight: bold;">Hotel</a>
  78.                             <ul>
  79.                                 <li><a><div class="keytext">Key: @context</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'context', {"width": 500}) }}</span></a></li>
  80.                                 <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'type', {"width": 500}) }}</span></a></li>
  81.                                 <li><a><div class="keytext">Key: additional type</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'additionalType', {"width": 500}) }}</span></a></li>
  82.                                 <li><a style="font-weight: bold;">brand</a>
  83.                                     <ul>
  84.                                         <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'type', {"width": 500}) }}</span></a></li>
  85.                                         <li><a><div class="keytext">Key: name</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'name', {"width": 500}) }}</span></a></li>
  86.                                     </ul>
  87.                                 </li>
  88.                                 <li><a style="font-weight: bold;">contains place</a>
  89.                                     <ul>
  90.                                         <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName3~'type', {"width": 500}) }}</span></a></li>
  91.                                         <li><a><div class="keytext">Key: additionalType</div><span class="parentbox">{{ pimcore_textarea(clearlyName3~'additionalType', {"width": 500}) }}</span></a></li>
  92.                                         <li><a style="font-weight: bold;">bed</a>
  93.                                             <ul>
  94.                                                 <li><a><div class="keytext">Key: type</div><span class="parentbox">{{ pimcore_textarea(clearlyName4~'type', {"width": 500}) }}</span></a></li>
  95.                                                 <li><a><div class="keytext">Key: numberOfBeds</div><span class="parentbox">{{ pimcore_numeric(clearlyName4~'numberOfBeds', {"width": 500}) }}</span></a></li>
  96.                                                 <li><a><div class="keytext">Key: typeOfBed</div><span class="parentbox">{{ pimcore_textarea(clearlyName4~'typeOfBed', {"width": 500}) }}</span></a></li>
  97.                                             </ul>
  98.                                         </li>
  99.                                     </ul>
  100.                                 </li>
  101.                                 <li><a style="font-weight: bold;">occupancy</a>
  102.                                     <ul>
  103.                                         <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName5~'type', {"width": 500}) }}</span></a></li>
  104.                                         <li><a><div class="keytext">Key: value</div><span class="parentbox">{{ pimcore_numeric(clearlyName5~'value', {"width": 500}) }}</span></a></li>
  105.                                     </ul>
  106.                                 </li>
  107.                                 <li><a style="font-weight: bold;">amenity feature</a>
  108.                                     <ul>
  109.                                         <li><a><div class="keytext">Key: ac</div><span class="parentbox">{{ pimcore_checkbox(clearlyName6~'ac', {"width": 500}) }}</span></a></li>
  110.                                         <li><a><div class="keytext">Key: airport shuttle</div><span class="parentbox">{{ pimcore_checkbox(clearlyName6~'airportShuttle', {"width": 500}) }}</span></a></li>
  111.                                         <li><a><div class="keytext">Key: balcony</div><span class="parentbox">{{ pimcore_checkbox(clearlyName6~'balcony', {"width": 500}) }}</span></a></li>
  112.                                         <li><a><div class="keytext">Key: beach access</div><span class="parentbox">{{ pimcore_checkbox(clearlyName6~'beachAccess', {"width": 500}) }}</span></a></li>
  113.                                         <li><a><div class="keytext">Key: childFriendly</div><span class="parentbox">{{ pimcore_checkbox(clearlyName6~'childFriendly', {"width": 500}) }}</span></a></li>
  114.                                     </ul>
  115.                                 </li>
  116.                                 <li><a style="font-weight: bold;">floorSize</a>
  117.                                     <ul>
  118.                                         <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName7~'type', {"width": 500}) }}</span></a></li>
  119.                                         <li><a><div class="keytext">Key: value</div><span class="parentbox">{{ pimcore_numeric(clearlyName7~'value', {"width": 500}) }}</span></a></li>
  120.                                         <li><a><div class="keytext">Key: unit code</div><span class="parentbox">{{ pimcore_textarea(clearlyName7~'unitCode', {"width": 500}) }}</span></a></li>
  121.                                     </ul>
  122.                                 </li>
  123.                                 <li><a><div class="keytext">Key: numberOfBathroomsTotal</div><span class="parentbox">{{ pimcore_numeric(clearlyName3~'numberOfBathroomsTotal', {"width": 500}) }}</span></a></li>
  124.                                 <li><a><div class="keytext">Key: numberOfBedrooms</div><span class="parentbox">{{ pimcore_numeric(clearlyName3~'numberOfBedrooms', {"width": 500}) }}</span></a></li>
  125.                                 <li><a><div class="keytext">Key: numberOfRooms</div><span class="parentbox">{{ pimcore_numeric(clearlyName3~'numberOfRooms', {"width": 500}) }}</span></a></li>
  126.                                 <li><a><div class="keytext">Key: identifier</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'identifier', {"width": 500}) }}</span></a></li>
  127.                                 <li><a><div class="keytext">Key: latitude</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'latitude', {"width": 500}) }}</span></a></li>
  128.                                 <li><a><div class="keytext">Key: longitude</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'longitude', {"width": 500}) }}</span></a></li>
  129.                                 <li><a><div class="keytext">Key: name</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'name', {"width": 500}) }}</span></a></li>
  130.                                 <li><a style="font-weight: bold;">address</a>
  131.                                     <ul>
  132.                                         <li><a><div class="keytext">Key: address country</div><span class="parentbox">{{ pimcore_textarea(clearlyName8~'addressCountry', {"width": 500}) }}</span></a></li>
  133.                                         <li><a><div class="keytext">Key: address locality</div><span class="parentbox">{{ pimcore_textarea(clearlyName8~'addressLocality', {"width": 500}) }}</span></a></li>
  134.                                         <li><a><div class="keytext">Key: address region</div><span class="parentbox">{{ pimcore_textarea(clearlyName8~'addressRegion', {"width": 500}) }}</span></a></li>
  135.                                         <li><a><div class="keytext">Key: postal code</div><span class="parentbox">{{ pimcore_textarea(clearlyName8~'postalCode', {"width": 500}) }}</span></a></li>
  136.                                         <li><a><div class="keytext">Key: street address</div><span class="parentbox">{{ pimcore_textarea(clearlyName8~'streetAddress', {"width": 500}) }}</span></a></li>
  137.                                     </ul>
  138.                                 </li>
  139.                                 <li><a style="font-weight: bold;">aggregateRating</a>
  140.                                     <ul>
  141.                                         <li><a><div class="keytext">Key: rating value</div><span class="parentbox">{{ pimcore_textarea(clearlyName9~'ratingValue', {"width": 500}) }}</span></a></li>
  142.                                         <li><a><div class="keytext">Key: rating count</div><span class="parentbox">{{ pimcore_textarea(clearlyName9~'ratingCount', {"width": 500}) }}</span></a></li>
  143.                                         <li><a><div class="keytext">Key: review count</div><span class="parentbox">{{ pimcore_textarea(clearlyName9~'reviewCount', {"width": 500}) }}</span></a></li>
  144.                                         <li><a><div class="keytext">Key: best rating</div><span class="parentbox">{{ pimcore_textarea(clearlyName9~'bestRating', {"width": 500}) }}</span></a></li>
  145.                                     </ul>
  146.                                 </li>
  147.                                 <li><a><div class="keytext">Key: images</div><span class="parentbox">{{ pimcore_relations(clearlyName1~'images', {"width": 500, "types": ["asset"], "subtypes": { "asset": ["image"] }}) }}</span></a></li>
  148.                                 <li><a><div class="keytext">Key: checkinTime</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'checkinTime', {"width": 500, "placeholder": '15:00:00+08:00'}) }}</span></a></li>
  149.                                 <li><a><div class="keytext">Key: checkoutTime</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'checkoutTime', {"width": 500, "placeholder": '11:00:00+08:00'}) }}</span></a></li>
  150.                                 <li><a><div class="keytext">Key: description</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'description', {"width": 500}) }}</span></a></li>
  151.                                 <li><a><div class="keytext">Key: knowsLanguage</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'knowsLanguage', {"width": 500, "placeholder": 'en-US, fr-FR'}) }}</span></a></li>
  152.                             </ul>
  153.                         </li>
  154.                     </ul>
  155.                 </div>
  156.                 </section>   
  157.             {% endif %}
  158.             {% set tab = 3 %}    
  159.             {% if tabContentArray is defined and tab in tabContentArray|keys %}
  160.                 {{ admin_tabs(tab, tabContentArray) | raw }}
  161.                 <section class="tabContent">
  162.                    {% set richSnippetOrganizationColor = pimcore_checkbox('RichSnippetBusiness').isChecked() ? 'green' : 'red' %}
  163.                     <div style="width:200px;background-color: #fff; color:{{ richSnippetOrganizationColor }};float:left;white-space: nowrap;padding-left: 40px;">
  164.                         <strong>Rich Snippets ausgeben:</strong>
  165.                         {{ pimcore_checkbox('RichSnippetBusiness', {'reload': true}) }}
  166.                     </div>  
  167.                      <br />
  168.                     {% set clearlyName1 = 'business_' %}
  169.                     {% set clearlyName2 = clearlyName1~'address_' %}
  170.                     {% set clearlyName3 = clearlyName1~'workingDaysAndHours_' %}
  171.                     <div class="primaryNav">
  172.                     <ul>
  173.                         <li><a style="background-color: #c20035;color:#ffffff;font-weight: bold;">Local Business</a>
  174.                             <ul>
  175.                                 <li><a><div class="keytext">Key: @context</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'context', {"width": 500}) }}</span></a></li>
  176.                                 <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'type', {"width": 500}) }}</span></a></li>
  177.                                 <li><a><div class="keytext">Key: name</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'name', {"width": 500}) }}</span></a></li>
  178.                                 <li><a><div class="keytext">Key: image</div><span class="parentbox">{{ pimcore_relation(clearlyName1~'image', {"width": 500, "types": ["asset"], "subtypes": { "asset": ["image"] }, "class": ["business-image"],}) }}</span></a></li>
  179.                                 <li><a><div class="keytext">Key: @id</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'id', {"width": 500}) }}</span></a></li>
  180.                                 <li><a><div class="keytext">Key: url</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'url', {"width": 500}) }}</span></a></li>
  181.                                 <li><a><div class="keytext">Key: telephone</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'telephone', {"width": 500}) }}</span></a></li>
  182.                                 
  183.                                 <li><a style="font-weight: bold;">address</a>
  184.                                     <ul>
  185.                                         <li><a><div class="keytext">Key: @type</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'type', {"width": 500}) }}</span></a></li>
  186.                                         <li><a><div class="keytext">Key: streetAddress</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'streetAddress', {"width": 500}) }}</span></a></li>
  187.                                         <li><a><div class="keytext">Key: addressLocality</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'addressLocality', {"width": 500}) }}</span></a></li>
  188.                                         
  189.                                         <li><a><div class="keytext">Key: postalCode</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'postalCode', {"width": 500}) }}</span></a></li>
  190.                                         <li><a><div class="keytext">Key: addressCountry</div><span class="parentbox">{{ pimcore_textarea(clearlyName2~'addressCountry', {"width": 500}) }}</span></a></li>
  191.                                     </ul>
  192.                                 </li>
  193.                                 <li><a style="font-weight: bold;">Working Hours and Days of Week</a>
  194.                                     <ul>
  195.                                         <li><a><div class="keytext">Bitte aus dem Ordner "geo-location_oeffnungszeiten_kontakt" Object zuweisen:</div><span class="parentbox">{{ pimcore_relation(clearlyName3~'objectGeolocationFolder', {
  196.                                             "types": ["object"],
  197.                                             "subtypes": {
  198.                                                 "object": ["object"]
  199.                                             },
  200.                                             "classes": ["geolocation"],
  201.                                             "width": 500,
  202.                                             "class": ["business-open-hours"],
  203.                                         }) }}</span></a></li>
  204.                                     </ul>
  205.                                 </li>
  206.                                 {# <li><a><div class="keytext">openingHours</div><span class="parentbox">{{ pimcore_textarea(clearlyName1~'openingHours', {"width": 500}) }}</span></a></li> #}
  207.                             </ul>
  208.                         </li>
  209.                     </ul>
  210.                 </div>
  211.             </section>   
  212.             {% endif %}
  213.     </div>
  214.     {{ include('includes/backend-fuss.html.twig') }}
  215. {% else %} 
  216.     {# RichSnippetOrganization #}
  217.     {% if pimcore_checkbox('RichSnippetOrganization').isChecked() %}
  218.         {% set clearlyName1 = 'organization_' %}
  219.         {% set clearlyName2 = clearlyName1~'address_' %}
  220.          <script type="application/ld+json">
  221.             {
  222.                     "@context": "{{ pimcore_textarea(clearlyName1~'context') }}",
  223.                     "@type": "{{ pimcore_textarea(clearlyName1~'type') }}",
  224.                     "@id": "{{ pimcore_textarea(clearlyName1~'id') }}",
  225.                     "url": "{{ pimcore_textarea(clearlyName1~'url') }}",
  226.                     "name": "{{ pimcore_textarea(clearlyName1~'name') }}",
  227.                     "description": "{{ pimcore_textarea(clearlyName1~'description') }}",
  228.                     "email": "{{ pimcore_textarea(clearlyName1~'email') }}",
  229.                     "telephone": "{{ pimcore_textarea(clearlyName1~'telephone') }}",
  230.                     "faxNumber": "{{ pimcore_textarea(clearlyName1~'faxNumber') }}",
  231.                     "address": {
  232.                         "@type": "{{ pimcore_textarea(clearlyName2~'type') }}",
  233.                         "addressCountry": "{{ pimcore_textarea(clearlyName2~'addressCountry') }}",
  234.                         "addressLocality": "{{ pimcore_textarea(clearlyName2~'addressLocality') }}",
  235.                         "addressRegion": "{{ pimcore_textarea(clearlyName2~'addressRegion') }}",
  236.                         "postalCode": "{{ pimcore_textarea(clearlyName2~'postalCode') }}",
  237.                         "streetAddress": "{{ pimcore_textarea(clearlyName2~'streetAddress') }}"
  238.                     },
  239.                     "image": "{{ pimcore_textarea(clearlyName1~'image') }}",
  240.                     "logo": "{{ pimcore_textarea(clearlyName1~'logo') }}",
  241.                     "sameAs": [" {{ pimcore_textarea(clearlyName1~'sameAs') }}"]
  242.             }
  243.          </script>
  244.     {% endif %}
  245.     {# RichSnippetHotel #}
  246.     {% if pimcore_checkbox('RichSnippetHotel').isChecked() %}
  247.         
  248.         {% set clearlyName1 = 'hotel_' %}
  249.         {% set clearlyName2 = clearlyName1~'brand_' %}
  250.         {% set clearlyName3 = clearlyName1~'containsPlace_' %}
  251.         {% set clearlyName4 = clearlyName3~'bed_' %}
  252.         {% set clearlyName5 = clearlyName1~'occupancy_' %}
  253.         {% set clearlyName6 = clearlyName1~'amenityFeature_' %}
  254.         {% set clearlyName7 = clearlyName1~'floorSize_' %}
  255.         {% set clearlyName8 = clearlyName1~'address_' %}
  256.         {% set clearlyName9 = clearlyName1~'aggregateRating_' %}
  257.         {% set knowsLanguageString = pimcore_textarea(clearlyName1 ~ 'knowsLanguage') %}
  258.         {% set knowsLanguageArray = knowsLanguageString|split(',') %}
  259.         {% set jsonLd = {} %}
  260.         {% if not pimcore_textarea(clearlyName1~'context').isEmpty() %}
  261.             {% set jsonLd = jsonLd|merge({'@context': pimcore_textarea(clearlyName1~'context').getData() }) %}
  262.         {% endif %}
  263.         {% if not pimcore_textarea(clearlyName1~'type').isEmpty() %}
  264.             {% set jsonLd = jsonLd|merge({'@type': pimcore_textarea(clearlyName1~'type').getData() }) %}
  265.         {% endif %}
  266.         {% if not pimcore_textarea(clearlyName1~'additionalType').isEmpty() %}
  267.             {% set jsonLd = jsonLd|merge({'additionalType': pimcore_textarea(clearlyName1~'additionalType').getData() }) %}
  268.         {% endif %}
  269.         {% if not pimcore_textarea(clearlyName2~'type').isEmpty() or not pimcore_textarea(clearlyName2~'name').isEmpty() %}
  270.             {% set brand = {} %}
  271.             {% if not pimcore_textarea(clearlyName2~'type').isEmpty() %}
  272.                 {% set brand = jsonLd|merge({'@type': pimcore_textarea(clearlyName2~'type').getData() }) %}
  273.             {% endif %}
  274.             {% if not pimcore_textarea(clearlyName2~'name').isEmpty() %}
  275.                 {% set brand = jsonLd|merge({'name': pimcore_textarea(clearlyName2~'name').getData() }) %}
  276.             {% endif %}
  277.             {% set jsonLd = jsonLd|merge({'brand': brand}) %}
  278.         {% endif %}
  279.         {% set containsPlace = {} %}
  280.         {% if not pimcore_textarea(clearlyName3~'type').isEmpty() %}
  281.           {% set containsPlace = containsPlace|merge({'@type': pimcore_textarea(clearlyName3~'type').getData() }) %}
  282.         {% endif %}
  283.         {% if not pimcore_textarea(clearlyName3~'additionalType').isEmpty() %}
  284.             {% set containsPlace = containsPlace|merge({'additionalType': pimcore_textarea(clearlyName3~'additionalType').getData() }) %}
  285.         {% endif %}
  286.         {% if not pimcore_textarea(clearlyName4~'type').isEmpty() or not pimcore_numeric(clearlyName4~'numberOfBeds').isEmpty() or not pimcore_textarea(clearlyName4~'typeOfBed').isEmpty() %}
  287.             {% set bed = {} %}
  288.             {% if not pimcore_textarea(clearlyName4~'type').isEmpty() %}
  289.                 {% set bed = bed|merge({'@type': pimcore_textarea(clearlyName4~'type').getData() }) %}
  290.             {% endif %}
  291.             {% if not pimcore_numeric(clearlyName4~'numberOfBeds').isEmpty() %}
  292.                 {% set bed = bed|merge({'numberOfBeds': pimcore_numeric(clearlyName4~'numberOfBeds').getData() }) %}
  293.             {% endif %}
  294.             {% if not pimcore_textarea(clearlyName4~'typeOfBed').isEmpty() %}
  295.                 {% set bed = bed|merge({'typeOfBed': pimcore_textarea(clearlyName4~'typeOfBed').getData() }) %}
  296.             {% endif %}
  297.             {% set containsPlace = containsPlace|merge({'bed': [bed]}) %}
  298.         {% endif %}
  299.         {% if not pimcore_textarea(clearlyName5~'type').isEmpty() or not pimcore_numeric(clearlyName5~'value').isEmpty() %}
  300.             {% set occupancy = {} %}
  301.             {% if not pimcore_textarea(clearlyName5~'type').isEmpty() %}
  302.                 {% set occupancy = occupancy|merge({'@type': pimcore_textarea(clearlyName5~'type').getData() }) %}
  303.             {% endif %}
  304.             {% if not pimcore_numeric(clearlyName5~'value').isEmpty() %}
  305.                 {% set occupancy = occupancy|merge({'value': pimcore_numeric(clearlyName5~'value').getData() }) %}
  306.             {% endif %}
  307.             {% set containsPlace = containsPlace|merge({'occupancy': [occupancy]}) %}
  308.         {% endif %}
  309.         {% if pimcore_checkbox(clearlyName6~'ac').isChecked() or
  310.             pimcore_checkbox(clearlyName6~'airportShuttle').isChecked() or
  311.             pimcore_checkbox(clearlyName6~'balcony').isChecked() or
  312.             pimcore_checkbox(clearlyName6~'beachAccess').isChecked() or
  313.             pimcore_checkbox(clearlyName6~'childFriendly').isChecked() %}
  314.     
  315.             {% set amenityFeature = [] %} 
  316.             
  317.             {% if pimcore_checkbox(clearlyName6~'ac').isChecked() %}
  318.                 {% set amenityFeature = amenityFeature|merge([{
  319.                     '@type': 'LocationFeatureSpecification',
  320.                     'name': 'ac',
  321.                     'value': true
  322.                 }]) %}
  323.             {% endif %}
  324.             
  325.             {% if pimcore_checkbox(clearlyName6~'airportShuttle').isChecked() %}
  326.                 {% set amenityFeature = amenityFeature|merge([{
  327.                     '@type': 'LocationFeatureSpecification',
  328.                     'name': 'airportShuttle',
  329.                     'value': true
  330.                 }]) %}
  331.             {% endif %}
  332.             
  333.             {% if pimcore_checkbox(clearlyName6~'balcony').isChecked() %}
  334.                 {% set amenityFeature = amenityFeature|merge([{
  335.                     '@type': 'LocationFeatureSpecification',
  336.                     'name': 'balcony',
  337.                     'value': true
  338.                 }]) %}
  339.             {% endif %}
  340.             
  341.             {% if pimcore_checkbox(clearlyName6~'beachAccess').isChecked() %}
  342.                 {% set amenityFeature = amenityFeature|merge([{
  343.                     '@type': 'LocationFeatureSpecification',
  344.                     'name': 'beachAccess',
  345.                     'value': true
  346.                 }]) %}
  347.             {% endif %}
  348.             
  349.             {% if pimcore_checkbox(clearlyName6~'childFriendly').isChecked() %}
  350.                 {% set amenityFeature = amenityFeature|merge([{
  351.                     '@type': 'LocationFeatureSpecification',
  352.                     'name': 'childFriendly',
  353.                     'value': true
  354.                 }]) %}
  355.             {% endif %}
  356.             
  357.             {% set containsPlace = containsPlace|merge({'amenityFeature': amenityFeature}) %} 
  358.         {% endif %}
  359.         {% if not pimcore_textarea(clearlyName7~'type').isEmpty() or not pimcore_numeric(clearlyName7~'value').isEmpty() or not pimcore_textarea(clearlyName7~'unitCode').isEmpty() %}
  360.             {% set floorSize = {} %}
  361.             {% if not pimcore_textarea(clearlyName7~'type').isEmpty() %}
  362.                 {% set floorSize = floorSize|merge({'@type': pimcore_textarea(clearlyName7~'type').getData() }) %}
  363.             {% endif %}
  364.             {% if not pimcore_numeric(clearlyName7~'value').isEmpty() %}
  365.                 {% set floorSize = floorSize|merge({'value': pimcore_numeric(clearlyName7~'value').getData() }) %}
  366.             {% endif %}
  367.             {% if not pimcore_textarea(clearlyName7~'unitCode').isEmpty() %}
  368.                 {% set floorSize = floorSize|merge({'unitCode': pimcore_textarea(clearlyName7~'unitCode').getData() }) %}
  369.             {% endif %}
  370.             {% set containsPlace = containsPlace|merge({'floorSize': floorSize}) %} 
  371.         {% endif %}
  372.         {% if not pimcore_numeric(clearlyName3~'numberOfBathroomsTotal').isEmpty() %}
  373.             {% set containsPlace = containsPlace|merge({'numberOfBathroomsTotal': pimcore_numeric(clearlyName3~'numberOfBathroomsTotal').getData() }) %}
  374.         {% endif %}
  375.         {% if not pimcore_numeric(clearlyName3~'numberOfBedrooms').isEmpty() %}
  376.             {% set containsPlace = containsPlace|merge({'numberOfBedrooms': pimcore_numeric(clearlyName3~'numberOfBedrooms').getData() }) %}
  377.         {% endif %}
  378.         {% if not pimcore_numeric(clearlyName3~'numberOfRooms').isEmpty() %}
  379.             {% set containsPlace = containsPlace|merge({'numberOfRooms': pimcore_numeric(clearlyName3~'numberOfRooms').getData() }) %}
  380.         {% endif %}
  381.             
  382.         {% set jsonLd = jsonLd|merge({'containsPlace': containsPlace}) %}
  383.         {% if not pimcore_textarea(clearlyName1~'identifier').isEmpty() %}
  384.             {% set jsonLd = jsonLd|merge({'identifier': pimcore_textarea(clearlyName1~'identifier').getData() }) %}
  385.         {% endif %}
  386.         {% if not pimcore_textarea(clearlyName1~'latitude').isEmpty() %}
  387.             {% set jsonLd = jsonLd|merge({'latitude': pimcore_textarea(clearlyName1~'latitude').getData() }) %}
  388.         {% endif %}
  389.         {% if not pimcore_textarea(clearlyName1~'longitude').isEmpty() %}
  390.             {% set jsonLd = jsonLd|merge({'longitude': pimcore_textarea(clearlyName1~'longitude').getData() }) %}
  391.         {% endif %}
  392.         {% if not pimcore_textarea(clearlyName1~'name').isEmpty() %}
  393.             {% set jsonLd = jsonLd|merge({'name': pimcore_textarea(clearlyName1~'name').getData() }) %}
  394.         {% endif %}
  395.         {% if not pimcore_textarea(clearlyName8~'addressCountry').isEmpty() or not pimcore_textarea(clearlyName8~'addressLocality').isEmpty() or not pimcore_textarea(clearlyName8~'addressRegion').isEmpty() or not pimcore_textarea(clearlyName8~'postalCode').isEmpty() or not pimcore_textarea(clearlyName8~'streetAddress').isEmpty() %}
  396.             {% set address = {} %}
  397.             {% if not pimcore_textarea(clearlyName8~'addressCountry').isEmpty() %}
  398.                 {% set address = address|merge({'addressCountry': pimcore_textarea(clearlyName8~'addressCountry').getData() }) %}
  399.             {% endif %}
  400.             {% if not pimcore_textarea(clearlyName8~'addressLocality').isEmpty() %}
  401.                 {% set address = address|merge({'addressLocality': pimcore_textarea(clearlyName8~'addressLocality').getData() }) %}
  402.             {% endif %}
  403.             {% if not pimcore_textarea(clearlyName8~'addressRegion').isEmpty() %}
  404.                 {% set address = address|merge({'addressRegion': pimcore_textarea(clearlyName8~'addressRegion').getData() }) %}
  405.             {% endif %}
  406.             {% if not pimcore_textarea(clearlyName8~'postalCode').isEmpty() %}
  407.                 {% set address = address|merge({'postalCode': pimcore_textarea(clearlyName8~'postalCode').getData() }) %}
  408.             {% endif %}
  409.             {% if not pimcore_textarea(clearlyName8~'streetAddress').isEmpty() %}
  410.                 {% set address = address|merge({'streetAddress': pimcore_textarea(clearlyName8~'streetAddress').getData() }) %}
  411.             {% endif %}
  412.             {% set jsonLd = jsonLd|merge({'address': address }) %}
  413.         {% endif %}
  414.         {% if not pimcore_textarea(clearlyName9~'ratingValue').isEmpty() or not pimcore_textarea(clearlyName9~'ratingCount').isEmpty() or not pimcore_textarea(clearlyName9~'reviewCount').isEmpty() or not pimcore_textarea(clearlyName9~'bestRating').isEmpty() %}
  415.             {% set aggregateRating = {} %}
  416.             {% if not pimcore_textarea(clearlyName9~'ratingValue').isEmpty() %}
  417.                 {% set aggregateRating = aggregateRating|merge({'ratingValue': pimcore_textarea(clearlyName9~'ratingValue').getData() }) %}
  418.             {% endif %}
  419.             {% if not pimcore_textarea(clearlyName9~'ratingCount').isEmpty() %}
  420.                 {% set aggregateRating = aggregateRating|merge({'ratingCount': pimcore_textarea(clearlyName9~'ratingCount').getData() }) %}
  421.             {% endif %}
  422.             {% if not pimcore_textarea(clearlyName9~'reviewCount').isEmpty() %}
  423.                 {% set aggregateRating = aggregateRating|merge({'reviewCount': pimcore_textarea(clearlyName9~'reviewCount').getData() }) %}
  424.             {% endif %}
  425.             {% if not pimcore_textarea(clearlyName9~'bestRating').isEmpty() %}
  426.                 {% set aggregateRating = aggregateRating|merge({'bestRating': pimcore_textarea(clearlyName9~'bestRating').getData() }) %}
  427.             {% endif %}
  428.             {% set jsonLd = jsonLd|merge({'aggregateRating': aggregateRating }) %}
  429.         {% endif %}
  430.         {% if not pimcore_relations(clearlyName1~"images").isEmpty() %}
  431.             {% set image = [] %}
  432.             {% for element in pimcore_relations(clearlyName1~"images") %}
  433.                 {% set image = image|merge([app.request.scheme ~ '://' ~ app.request.host ~ element.getFullPath()]) %}
  434.             {% endfor %}
  435.             {% set jsonLd = jsonLd|merge({'image': image }) %}
  436.         {% endif %}
  437.         {% if not pimcore_textarea(clearlyName1~'checkinTime').isEmpty() %}
  438.             {% set jsonLd = jsonLd|merge({'checkinTime': pimcore_textarea(clearlyName1~'checkinTime') }) %}
  439.         {% endif %}
  440.         {% if not pimcore_textarea(clearlyName1~'checkoutTime').isEmpty() %}
  441.             {% set jsonLd = jsonLd|merge({'checkoutTime': pimcore_textarea(clearlyName1~'checkoutTime') }) %}
  442.         {% endif %}
  443.         {% if not pimcore_textarea(clearlyName1~'description').isEmpty() %}
  444.             {% set jsonLd = jsonLd|merge({'description': pimcore_textarea(clearlyName1~'description') }) %}
  445.         {% endif %}
  446.         {% if not knowsLanguageString.isEmpty() %}
  447.             {% set knowsLanguage = [] %}
  448.             {% for language in knowsLanguageArray %}
  449.                 {% set knowsLanguage = knowsLanguage|merge([language|trim]) %}
  450.             {% endfor %}
  451.             {% set jsonLd = jsonLd|merge({'knowsLanguage': knowsLanguage }) %}
  452.         {% endif %}
  453.         {% set jsonLd = jsonLd|merge({'review': [] }) %}
  454.         <script type="application/ld+json">
  455.         {{ jsonLd|json_encode(constant('JSON_PRETTY_PRINT'))|raw }}
  456.         </script>
  457.     {% endif %}
  458.     {# RichSnippetBusiness #}
  459.     {% if pimcore_checkbox('RichSnippetBusiness').isChecked() %}
  460.         {% set clearlyName1 = 'business_' %}
  461.         {% set clearlyName2 = clearlyName1~'address_' %}
  462.         {% set clearlyName3 = clearlyName1~'workingDaysAndHours_' %}
  463.                 {% set jsonLd = {} %}
  464.         {% if not pimcore_textarea(clearlyName1~'context').isEmpty() %}
  465.             {% set jsonLd = jsonLd|merge({'@context': pimcore_textarea(clearlyName1~'context').getData() }) %}
  466.         {% endif %}
  467.         {% if not pimcore_textarea(clearlyName1~'type').isEmpty() %}
  468.             {% set jsonLd = jsonLd|merge({'@type': pimcore_textarea(clearlyName1~'type').getData() }) %}
  469.         {% endif %}
  470.         {% if not pimcore_textarea(clearlyName1~'name').isEmpty() %}
  471.             {% set jsonLd = jsonLd|merge({'name': pimcore_textarea(clearlyName1~'name').getData() }) %}
  472.         {% endif %}
  473.         {% if not pimcore_textarea(clearlyName1~'image').isEmpty() %}
  474.             {% set image = app.request.scheme ~ '://' ~ app.request.host ~ pimcore_relation(clearlyName1~'image').getFullPath() %}
  475.             {% set jsonLd = jsonLd|merge({'image': image }) %}
  476.         {% endif %}
  477.         {% if not pimcore_textarea(clearlyName1~'id').isEmpty() %}
  478.             {% set jsonLd = jsonLd|merge({'@id': pimcore_textarea(clearlyName1~'id').getData() }) %}
  479.         {% endif %}
  480.         {% if not pimcore_textarea(clearlyName1~'url').isEmpty() %}
  481.             {% set jsonLd = jsonLd|merge({'url': pimcore_textarea(clearlyName1~'url').getData() }) %}
  482.         {% endif %}
  483.         {% if not pimcore_textarea(clearlyName1~'telephone').isEmpty() %}
  484.             {% set jsonLd = jsonLd|merge({'telephone': pimcore_textarea(clearlyName1~'telephone').getData() }) %}
  485.         {% endif %}
  486.         {% if not pimcore_textarea(clearlyName2~'type').isEmpty() or not pimcore_textarea(clearlyName2~'streetAddress').isEmpty() or not pimcore_textarea(clearlyName2~'addressLocality').isEmpty() or not pimcore_textarea(clearlyName2~'postalCode').isEmpty() or not pimcore_textarea(clearlyName2~'addressCountry').isEmpty() %}
  487.             {% set address = {} %}
  488.             {% if not pimcore_textarea(clearlyName2~'type').isEmpty() %}
  489.                 {% set address = address|merge({'@type': pimcore_textarea(clearlyName2~'type').getData() }) %}
  490.             {% endif %}
  491.             {% if not pimcore_textarea(clearlyName2~'streetAddress').isEmpty() %}
  492.                 {% set address = address|merge({'streetAddress': pimcore_textarea(clearlyName2~'streetAddress').getData() }) %}
  493.             {% endif %}
  494.             {% if not pimcore_textarea(clearlyName2~'addressLocality').isEmpty() %}
  495.                 {% set address = address|merge({'addressLocality': pimcore_textarea(clearlyName2~'addressLocality').getData() }) %}
  496.             {% endif %}
  497.             {% if not pimcore_textarea(clearlyName2~'postalCode').isEmpty() %}
  498.                 {% set address = address|merge({'postalCode': pimcore_textarea(clearlyName2~'postalCode').getData() }) %}
  499.             {% endif %}
  500.             {% if not pimcore_textarea(clearlyName2~'addressCountry').isEmpty() %}
  501.                 {% set address = address|merge({'addressCountry': pimcore_textarea(clearlyName2~'addressCountry').getData() }) %}
  502.             {% endif %}
  503.             {% set jsonLd = jsonLd|merge({'address': address }) %}
  504.         {% endif %}
  505.         {% if openingHoursSpecification is not empty %}
  506.             {% set jsonLd = jsonLd|merge({'openingHoursSpecification': openingHoursSpecification }) %}
  507.         {% endif %}
  508.         <script type="application/ld+json">
  509.         {{ jsonLd|json_encode(constant('JSON_PRETTY_PRINT'))|raw }}
  510.         </script>
  511.     {% endif %}
  512. {% endif %}