{% set venueData = templateData["venue"] %}
{% set bookingData = templateData["booking"] %}
{% set organizerData = templateData["organizer"] %}
{% set infoData = templateData["info"] %}
{% set reallyNoAddress = venueData is empty and bookingData is empty and organizerData is empty and infoData is empty and templateData['googlePlaceId'] is null %}
{% set cols = templateData['headerImage'] is empty or reallyNoAddress ? "col-md-12" : "col-md-6" %}
{% set thumbnail = reallyNoAddress ? 'demi-infrastructure-event-full-header-img' : 'demi-infrastructure-event-half-header-img' %}
{% set responsiveclass = templateData['headerImage'] is empty or reallyNoAddress ? "embed-responsive-3by1" : "embed-responsive-3by2" %}
<section class="demi-event-detail-header">
<div class="row no-gutters">
{% if templateData['headerImage'] is not empty %}
<div class="{{ cols }}">
<div class="embed-responsive {{ responsiveclass }}">
{{ include('@ElementsDemiFrontend/Events/detail/header.html.twig', {
'headerImage' : templateData['headerImage'],
'thumbnail' : thumbnail,
'headline' : templateData['detailHeadline']
}) }}
</div>
</div>
{% endif %}
{% if not reallyNoAddress %}
<div class="{{ cols }}">
<div class="embed-responsive {{ responsiveclass }}">
{{ include('@ElementsDemiFrontend/Events/detail/map.html.twig', {
'icon' : templateData['icon'],
'googlePlaceId' : templateData['googlePlaceId']
}) }}
</div>
</div>
{% endif %}
</div>
</section>
{{ include('@ElementsDemiFrontend/Navigation/breadcrumb.html.twig') }}
<div class="demi-event-main-content">
{{ include('@ElementsDemiFrontend/Events/detail/intro.html.twig', {
'detailHeadline' : templateData['detailHeadline'],
'detailLead' : templateData['detailLead'],
'detailDescription' : templateData['detailDescription'],
'currentInformation' : templateData['currentInformation'],
'hasGlossar' : templateData['hasGlossar'],
'detailArchiveText' : templateData['detailArchiveText'],
'detailDate' : templateData['detailDate'],
}) }}
{% if templateData['detailSlides'] is not empty and templateData['detailSlides'] | length > 1 %}
{{ include('@ElementsDemiFrontend/Events/detail/gallery.html.twig', {
'detailSlides' : templateData['detailSlides'],
'headline' : templateData['detailHeadline']
}) }}
{% endif %}
{% if templateData['videos'] is defined is not empty %}
{{ include('@ElementsDemiFrontend/Events/detail/videos.html.twig', {
'videos' : templateData['videos']
}) }}
{% endif %}
{% if templateData['detailAccordionId'] is not empty and templateData['detailPriceText'] is not empty %}
{{ include('@ElementsDemiFrontend/Events/detail/prices.html.twig', {
'detailAccordionId' : templateData['detailAccordionId'],
'detailPriceText' : templateData['detailPriceText']
}) }}
{% endif %}
</div>
<div class="demi-event-detail-content">
{% if templateData['detailDate'] is not empty or event.getParent() is instanceof ('Pimcore\\Model\\DataObject\\DemiEvent') %}
<div class="demi-event-detail-content-block demi-event-detail-content-block--date" id="event-detail-calendar-dates">
<div class="container">
<div class="row vertical-gutter--3">
<div class="col-md-12 vertical-gutter__item">
<h3 class="h2">{{ 'demi.events.detail.date-and-time' | trans }}</h3>
<div class="form-group js-availability-datepicker datepicker no-icon datepicker-static d-md-block d-flex justify-content-center mt-4"
data-datepicker-inline="true"
data-datepicker-default-date="{{ demi_core_eventDateRangeFirstFutureDate(templateData['detailDate']) }}"
data-datepicker-enable="{{ demi_core_eventPrepareDateRangesForDatepicker(event,true)|json_encode }}">
<span class="js-availability-datepicker__input"></span>
</div>
</div>
<div class="col-md-12 vertical-gutter__item js-show-more-container">
<div class="js-show-more show-more__item" data-show-more-max-height="320">
{% set singleTimeAndDuration = demi_core_eventHasSingleTimeAndDuration(event) %}
{% if templateData['detailDate'] is iterable %}
{% for key, date in templateData['detailDate'] %}
<div class="h5 font-decorative mb-0 {{ date['daysAndTimes']|length > 1 ? 'mt-4' : 'mt-3' }}">
{% if date['to'] is defined %}
{{ elements_dateFormatRange(date['from'], date['to'], 'daterange-day_long_year-long') }}
{% else %}
{{ elements_dateFormat(date['from'], 'date-day_date_long') }}
{% endif %}
</div>
{% if date['daysAndTimes']|length > 1 %}
<div class="row">
<div class="col-md-9">
<div class="accordion accordion--demi-additionalservice accordion--demi-small" id="accordionDateInfo">
<div class="card">
<div class="card-header" id="heading-{{ key }}">
<div class="mb-0">
<a class="accordion-item__header-link text-primary collapsed"
href="#collapse-{{ key }}" data-toggle="collapse"
data-target="#collapse-{{ key }}" aria-expanded="false"
aria-controls="collapse-{{ key }}">
{{ 'demi.events.detail.days-and-times'|trans }}
<span class="icon icon-arrow-down accordion-item__toggle-icon text-dark-grey float-right" aria-hidden="true"></span>
</a>
</div>
</div>
<div id="collapse-{{ key }}" class="collapse"
aria-labelledby="heading-{{ key }}" data-parent="#accordionDateInfo">
<div class="card-body">
<div class="wysiwyg">
<ul>
{% for dateAndTime in date['daysAndTimes'] %}
<li>
{% if dateAndTime['weekdays'] is defined and (dateAndTime['weekdays'])|length == 7 %}
{{ 'demi.events.detail.daily.event'|trans }}
{% elseif dateAndTime['weekdays'] is defined %}
{% set dayStrings = [] %}
{% for weekday in dateAndTime['weekdays'] %}
{% set dayString = ('demi.events.detail.'~weekday)|trans %}
{% set dayStrings = dayStrings|merge([dayString]) %}
{% endfor %}
{{ dayStrings|join(', ') }}
{% endif %}
{% if not singleTimeAndDuration %}
{{ 'demi.events.detail.start.at'|trans }} {{ dateAndTime['time'] }} {{ 'demi.events.detail.clock'|trans }}
{% if dateAndTime['duration'] > 0 %}
({{ 'demi.events.detail.duration' | trans }}: {{ dateAndTime['duration'] }} {{ ('demi.events.detail.duration.'~(dateAndTime['durationType']|lower)~(dateAndTime['duration'] > 1 ? 's' : '')) | trans }})
{% endif %}
{% endif %}
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% elseif date['daysAndTimes']|length== 1 %}
{% if date['daysAndTimes'][0]['weekdays'] is defined and (date['daysAndTimes'][0]['weekdays'])|length == 7 %}
{{ 'demi.events.detail.daily.event'|trans }}
{% elseif date['daysAndTimes'][0]['weekdays'] is defined %}
{% set dayStrings = [] %}
{% for weekday in date['daysAndTimes'][0]['weekdays'] %}
{% set dayString = ('demi.events.detail.'~weekday)|trans %}
{% set dayStrings = dayStrings|merge([dayString]) %}
{% endfor %}
{{ dayStrings|join(', ') }}
{% endif %}
{% if not singleTimeAndDuration %}
{{ 'demi.events.detail.start.at'|trans }} {{ date['daysAndTimes'][0]['time'] }} {{ 'demi.events.detail.clock'|trans }}
{% if date['daysAndTimes'][0]['duration'] > 0 %}
({{ 'demi.events.detail.duration' | trans }}: {{ date['daysAndTimes'][0]['duration'] }} {{ ('demi.events.detail.duration.'~(date['daysAndTimes'][0]['durationType']|lower)~(date['daysAndTimes'][0]['duration'] > 1 ? 's' : '')) | trans }})
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if singleTimeAndDuration and templateData['detailDate'] is defined and templateData['detailDate']|length > 0 %}
<div class="mt-3">
{% set date = templateData['detailDate'] |first %}
{% if templateData['detailDate']|length > 1 %}
{{ 'demi.events.detail.each-date'|trans }}
{% endif %}
{{ 'demi.events.detail.start.at'|trans }} {{ date['daysAndTimes'][0]['time'] }} {{ 'demi.events.detail.clock'|trans }}
{% if date['daysAndTimes'][0]['duration'] > 0 %}
({{ 'demi.events.detail.duration' | trans }}: {{ date['daysAndTimes'][0]['duration'] }} {{ ('demi.events.detail.duration.'~(date['daysAndTimes'][0]['durationType']|lower)~(date['daysAndTimes'][0]['duration'] > 1 ? 's' : '')) | trans }})
{% endif %}
</div>
{% endif %}
</div>
<button class="show-more__btn js-show-more__btn">{{ 'content.alle anzeigen'|trans }} <span class="icon icon-arrow-down" aria-hidden="true"></span></button>
</div>
</div>
</div>
</div>
{% endif %}
{% if templateData.eventLocation and event.getSystemIdentifier is not same as "Graz" %}
<section class="demi-event-detail-content-block demi-event-detail-content-block--date">
<div class="container">
<div class="wysiwyg">
<h2>{{ 'demi.events.detail.ort' | trans }}</h2>
<p>{{ templateData.eventLocation }}</p>
</div>
</div>
</section>
{% endif %}
{{ include('@ElementsDemiFrontend/Events/detail/booking-button.html.twig', {
'event': event
}) }}
{% set infoTemplateName = templateData["detailDescriptionTypes"] | length + templateData["detailLocalDescriptions"] | length > 4 ? "additionalDescriptionsCollapse" : "additionalDescriptions" %}
{{ include('@ElementsDemiFrontend/Events/detail/' ~ infoTemplateName ~ '.html.twig', {
'detailHeadline' : 'demi.event.detail.additional-descriptions-headline' | trans,
'detailText' : '',
'moreDescriptions' : templateData["detailDescriptionTypes"],
'event' : event,
'localDescriptions' : templateData["detailLocalDescriptions"]
}) }}
{% if templateData['downloads'] is not empty %}
<section class="demi-event-detail-content-block demi-event-detail-content-block--intro">
<div class="container">
<div class="wysiwyg">
<h2>{{ templateData['downloadHeadline'] }}</h2>
<ul>
{% for download in templateData['downloads'] %}
<li>
<a href="{{ download.getDocument().getFullPath() }}" target="_blank"> {{ download.getName() }}</a>
</li>
{% endfor %}
</ul>
</div>
</div>
</section>
{% endif %}
{% if organizerData is not empty %}
{{ include('@ElementsDemiFrontend/Events/detail/contact.html.twig', {
'detailHeadline' : organizerData['detailHeadline'],
'azObjLink' : organizerData["azObjLink"],
'detailIcon' : organizerData['detailIcon'],
'detailContact' : {
'address' : organizerData['detailContact']['address'],
'phone' : organizerData['detailContact']['phone'],
'mobile' : organizerData['detailContact']['mobile'],
'mail' : organizerData['detailContact']['mail'],
'url' : organizerData['detailContact']['url']
}
}) }}
{% endif %}
{% if bookingData is not empty %}
{{ include('@ElementsDemiFrontend/Events/detail/contact.html.twig', {
'detailHeadline' : bookingData['detailHeadline'],
'azObjLink' : bookingData["azObjLink"],
'detailIcon' : bookingData['detailIcon'],
'detailContact' : {
'address' : bookingData['detailContact']['address'],
'phone' : bookingData['detailContact']['phone'],
'mobile' : bookingData['detailContact']['mobile'],
'mail' : bookingData['detailContact']['mail'],
'url' : bookingData['detailContact']['url']
}
}) }}
{% endif %}
{% if venueData is not empty %}
{{ include('@ElementsDemiFrontend/Events/detail/contact.html.twig', {
'detailHeadline' : venueData['detailHeadline'],
'azObjLink' : venueData["azObjLink"],
'detailIcon' : venueData['detailIcon'],
'detailContact' : {
'address' : venueData['detailContact']['address'],
'phone' : venueData['detailContact']['phone'],
'mobile' : venueData['detailContact']['mobile'],
'mail' : venueData['detailContact']['mail'],
'url' : venueData['detailContact']['url']
}
}) }}
{% endif %}
{% if infoData is not empty %}
{{ include('@ElementsDemiFrontend/Events/detail/contact.html.twig', {
'detailHeadline' : infoData['detailHeadline'],
'azObjLink' : infoData["azObjLink"],
'detailIcon' : infoData['detailIcon'],
'detailContact' : {
'address' : infoData['detailContact']['address'],
'phone' : infoData['detailContact']['phone'],
'mobile' : infoData['detailContact']['mobile'],
'mail' : infoData['detailContact']['mail'],
'url' : infoData['detailContact']['url']
}
}) }}
{% endif %}
{% if templateData["detailLinks"] is not empty %}
{{ include('@ElementsDemiFrontend/Events/detail/links.html.twig', {
'detailHeadline' : templateData["linkHeadline"],
'detailLinks' : templateData["detailLinks"]
}) }}
{% endif %}
</div>
{% if templateData['detailExtension'] is not empty %}
{{ include("@ElementsDemiFrontend/Events/detail/demiExtension.html.twig", {
'detailExtension' : templateData['detailExtension']
}) }}
{% endif %}
<div class="demi-event-further-content mt-5">
{{ include('@ElementsDemiFrontend/Includes/connectedEntries.html.twig', {
'connectedEntries': demi_getConnectedEntries(event,app.request.locale),
'headline': 'demi.events.connected-entries'|trans
}) }}
</div>
{{ include('@ElementsDemiFrontend/Events/detail/backlink.html.twig', {
'backlinktext' : templateData['backlinktext']
}) }}