templates/Tour/detail.html.twig line 1

Open in your IDE?
  1. {# @var tour \Pimcore\Model\DataObject\AlpsteinTour #}
  2. {% extends "Layout/default.html.twig" %}
  3. {% do pimcore_placeholder('disableWeatherSlide').set(true) %}
  4. {% set detailUrl = linkGenerator().generate(tour) %}
  5. {% if not detailUrl is same as(app.request.pathInfo) %}
  6.     {% do elements_robots().setNoIndex(true) %}
  7. {% endif %}
  8. {% do pimcore_placeholder( 'addBreadcrumb' ).set({
  9.     'parentId': document.id,
  10.     'url': detailUrl,
  11.     'label': tour.name
  12. }) %}
  13. {% do elements_head_title().setTitle(tour.metaTitle ?: tour.name, true) %}
  14. {% do elements_opengraph().setDescription(tour.metaDescription ?: tour.shortText) %}
  15. {% do elements_canonical(detailUrl) %}
  16. {% do elements_head_title(tour.metaTitle ?: tour.name, true) %}
  17. {% do elements_head_meta(tour.metaDescription ?: chooseDescription(tour.shortText, tour.longText), true) %}
  18. {% if tour.primaryImage %}
  19.     {% do elements_opengraph().addImage(tour.primaryImage.thumbnail('hero').getPath()) %}
  20. {% endif %}
  21. {% block content %}
  22.     {{ jld_root(tour, true, true) }}
  23.     {% set heroImage = null %}
  24.     {% set heroImageAlt = tour.category[0].name ~ ' ' ~ tour.name ~ ' - Touren-Impression #1' %}
  25.     {% if tour.primaryImage %}
  26.         {% set heroImage = tour.primaryImage %}
  27.     {% elseif tour.images and tour.images[0] %}
  28.         {% set heroImage = tour.images[0] %}
  29.     {% endif %}
  30.     {% if heroImage and heroImage.metadata is iterable %}
  31.         {% for metadata in heroImage.metadata %}
  32.             {% if metadata['name'] == 'alt' %}
  33.                 {% set heroImageAlt = metadata['data'] %}
  34.             {% endif %}
  35.         {% endfor %}
  36.     {% endif %}
  37.     {{ include('Includes/hero.html.twig', {'image': heroImage, 'alt': heroImageAlt}) }}
  38.     {{ include('Navigation/breadcrumb.html.twig') }}
  39.     {#
  40.     open: badge-success
  41.     partially-open: badge-info
  42.     closed: badge-danger
  43.     #}
  44.     {% set additionalBadges = getClosureStatesForTour(tour) %}
  45.     {% set badgeAddon = '' %}
  46.     {% if tour.publicTransportFriendly %}
  47.         {% set badgeAddon = badgeAddon ~ ('<span class="icon icon-traffic" aria-label="mit Bus erreichbar" data-toggle="tooltip" data-original-title="' ~ 'tour.mit Bus erreichbar'|trans  ~ '"></span>') %}
  48.     {% endif %}
  49.     {% if additionalBadges is not empty %}
  50.         {% set badgeAddon = badgeAddon ~ _self.closureBadges(additionalBadges) %}
  51.     {% endif %}
  52.     {% set badge = [] %}
  53.     {% if tour.openedState %}
  54.         {% if tour.openedState == 'open' %}
  55.             {% set badge = {
  56.                 'color': 'success',
  57.                 'text': 'tour.Geöffnet'|trans
  58.             } %}
  59.         {% elseif tour.openedState == 'partially-open' %}
  60.             {% set badge = {
  61.                 'color': 'info',
  62.                 'text': 'tour.Teilweise geöffnet'|trans
  63.             } %}
  64.         {% elseif tour.openedState == 'closed' %}
  65.             {% set badge = {
  66.                 'color': 'danger',
  67.                 'text': 'tour.Geschlossen'|trans
  68.             } %}
  69.         {% endif %}
  70.     {% endif %}
  71.     {{ include('Includes/main-title-block-splitted.html.twig', {
  72.         additionalBadges: additionalBadges,
  73.         headline: tour.name,
  74.         badge: badge,
  75.         badgeAddon: badgeAddon,
  76.         description: tour.shortText,
  77.         expand: tour.longText
  78.     }) }}
  79.     <section class="container container-sm content-block">
  80.         {{ include('Tour/detail/tourProperties.html.twig') }}
  81.         {{ include('Tour/detail/tourSeasons.html.twig') }}
  82.         {{ include('Tour/detail/tourDetails.html.twig') }}
  83.     </section>
  84.     {{ include('Tour/detail/map.html.twig') }}
  85.     {{ include('Tour/detail/tourTabbing.html.twig') }}
  86.     {{ include('Tour/detail/tourGallery.html.twig') }}
  87.     {% set weatherStation = getWeatherStationByAlpsteinTour(tour) %}
  88.     {% if weatherStation %}
  89.         {{ include('Includes/weather-slide.html.twig', {'weatherStation': weatherStation}) }}
  90.     {% endif %}
  91.     {{ include('Includes/demiNearbySlide.html.twig', {
  92.         image: tour.imageTeaserOverrideAccomodation ?: siteConfig.textSlideImageDefault,
  93.         headline: 'tour-detail.Unterkünfte in der Nähe'|trans,
  94.         id: tour.id,
  95.         lat: tour.startingPoint.latitude,
  96.         lng: tour.startingPoint.longitude,
  97.         btnText: 'tour.detail.Weiter zur Suche'|trans
  98.     }) }}
  99.     {% if recommendations is defined and recommendations is not empty %}
  100.         {{ include('Tour/detail/recommendations.html.twig', {'tours': recommendations}) }}
  101.     {% endif %}
  102. {% endblock %}
  103. {% block javascripts %}
  104.     {% if not app.request.get('onlyInlineCss') %}
  105.         {{ include('Layout/includes/encore.html.twig', {
  106.             'staticDebugMode': staticDebugMode,
  107.             'file': 'js/tour'
  108.         }) }}
  109.     {% endif %}
  110. {% endblock %}
  111. {% macro closureBadges(additionalBadges) %}
  112.     {% for additionalBadge in additionalBadges %}
  113.         <div class="tour-detail__status">
  114.             <span class="tour-detail__status-icon icon icon-path-{{ additionalBadge.icon }} text-{{ additionalBadge.color }}" aria-label="{{ additionalBadge.text }}"
  115.                   data-toggle="tooltip" data-custom-tooltip-class="tour-status__tooltip" data-original-title="{{ additionalBadge.title|default(additionalBadge.text) }}">
  116.             </span>
  117. {#            <span class="tour-detail__status-text">#}
  118. {#                {{ additionalBadge.text }}#}
  119. {#            </span>#}
  120.         </div>
  121.     {% endfor %}
  122. {% endmacro %}