templates/Tour/teaser.html.twig line 1

Open in your IDE?
  1. {# @var \Pimcore\Model\DataObject\AlpsteinTour tour #}
  2. {% set additionalBadges = getClosureStatesForTour(tour) %}
  3. <section class="tour-teaser teaser-animation">
  4.     <div class="tour-teaser__info-wrapper d-flex">
  5.         {% if tour.publicTransportFriendly %}
  6.             <div class="tour-teaser__arrival">
  7.                 <span class="tour-teaser__arrival-icon icon icon-traffic" aria-label="mit Bus erreichbar"
  8.                       data-toggle="tooltip" data-original-title="{{ 'tour.mit Bus erreichbar'|trans }}"></span>
  9. {#                <span class="tour-teaser__arrival-text">#}
  10. {#                    {{ 'tour.mit Bus erreichbar'|trans }}#}
  11. {#                </span>#}
  12.             </div>
  13.         {% endif %}
  14.         {% if additionalBadges is defined %}
  15.         <div class="tour-teaser__status-wrapper {{ additionalBadges|length > 1 ? 'd-flex w-100 justify-content-end' }}" >
  16.             {% for additionalBadge in additionalBadges %}
  17.                 <div class="tour-teaser__status">
  18.                     <span class="tour-teaser__status-icon icon icon-path-{{ additionalBadge.icon }} text-{{ additionalBadge.color }}" aria-label="{{ additionalBadge.text }}"
  19.                           data-toggle="tooltip" data-custom-tooltip-class="tour-status__tooltip" data-original-title="{{ additionalBadge.title|default(additionalBadge.text) }}">
  20.                     </span>
  21. {#                    <span class="tour-teaser__status-text">#}
  22. {#                        {{ additionalBadge.text }}#}
  23. {#                    </span>#}
  24.                 </div>
  25.             {% endfor %}
  26.         </div>
  27.     </div>
  28.     {% endif %}
  29.     <div class="embed-responsive embed-responsive-7by9">
  30.         {% set teaserImage = null %}
  31.         {% if tour.primaryImage %}
  32.             {% set teaserImage = tour.primaryImage %}
  33.         {% elseif tour.images and tour.images[0] %}
  34.             {% set teaserImage = tour.images[0] %}
  35.         {% endif %}
  36.         {% if teaserImage %}
  37.             {% set description = getImageDescription(teaserImage, true) %}
  38.             {{ teaserImage.thumbnail('tour-teaser').html({
  39.                 imgAttributes: {
  40.                     class: 'js-lazy-img embed-responsive-item teaser-animation__img'
  41.                 },
  42.                 lowQualityPlaceholder: true,
  43.                 title: description|default(''),
  44.                 alt: description|default('')
  45.             })|raw }}
  46.         {% endif %}
  47.     </div>
  48.     <div class="tour-teaser__content d-flex flex-column justify-content-end">
  49.         <div class="vertical-gutter--2">
  50.             {% set location = getTourLocation(tour) %}
  51.             {% if location %}
  52.                 <span class="badge badge-white mr-md-2 mr-1 vertical-gutter__item">{{ location }}</span>
  53.             {% endif %}
  54.             {% if tour.ratingDifficulty %}
  55.                 {% if tour.ratingDifficulty == 3 %}
  56.                     {% set levelColor = 'dark' %}
  57.                 {% elseif tour.ratingDifficulty == 2 %}
  58.                     {% set levelColor = 'info' %}
  59.                 {% elseif tour.ratingDifficulty == 1 %}
  60.                     {% set levelColor = 'success' %}
  61.                 {% endif %}
  62.                 <span class="badge badge-{{ levelColor }} mr-2  vertical-gutter__item">{{ ('tour.difficulty' ~ tour.ratingDifficulty)|trans }}</span>
  63.             {% endif %}
  64.             {#
  65.             open: badge-success
  66.             partially-open: badge-info
  67.             closed: badge-danger
  68.             #}
  69.             {% set badge = [] %}
  70.             {% if tour.openedState %}
  71.                 {% if tour.openedState == 'open' %}
  72.                     {% set badge = {
  73.                         'color': 'success',
  74.                         'text': 'tour.Geöffnet'|trans
  75.                     } %}
  76.                 {% elseif tour.openedState == 'partially-open' %}
  77.                     {% set badge = {
  78.                         'color': 'info',
  79.                         'text': 'tour.Teilweise geöffnet'|trans
  80.                     } %}
  81.                 {% elseif tour.openedState == 'closed' %}
  82.                     {% set badge = {
  83.                         'color': 'danger',
  84.                         'text': 'tour.Geschlossen'|trans
  85.                     } %}
  86.                 {% endif %}
  87.             {% endif %}
  88.             {% if badge is not empty %}
  89.                 <span class="badge badge-{{ badge.color }} mr-2  vertical-gutter__item">
  90.                 {{ badge.text }}
  91.             </span>
  92.             {% endif %}
  93.         </div>
  94.         <div class="row row-gutter--3 pt-2">
  95.             <div class="col-auto">
  96.                 <span
  97.                     class="font-default-bold">{{ 'tour.Strecke'|trans }}</span> {{ (tour.length / 1000)|number_format(1, ',', '.') }}
  98.                 km
  99.             </div>
  100.             <div class="col-auto">
  101.                 {% set duration = tour.timeMin %}
  102.                 {% set hour = (duration/60)|round(0, 'floor') %}
  103.                 {% set minutes = duration % 60 %}
  104.                 {% if minutes < 10 %}
  105.                     {% set minutes = 0 ~ minutes %}
  106.                 {% endif %}
  107.                 <span class="font-default-bold">{{ 'tour.Dauer'|trans }}</span> {{ hour }}:{{ minutes }} h
  108.             </div>
  109.         </div>
  110.         {% set description = getImageDescription(tour.primaryImage) %}
  111.         <h3 class="tour-teaser__content__title font-default-bold mb-0"><a
  112.                 href="{{ linkGenerator().generate(tour, {relative: true, canoncial: false}) }}"
  113.                 class="stretch-link__link" title="{{ description|default('') }}">{{ tour.name }}</a></h3>
  114.     </div>
  115. </section>