templates/bundles/ProviderBundle/areas/teaser/view.html.twig line 1

Open in your IDE?
  1. {% from '@Provider/macros/teaser.html.twig' import teaser %}
  2. {% from '@Provider/macros/teaser.html.twig' import teaserSlider %}
  3. {# Default block settings #}
  4. {% set class            = pimcore_input('class').getData() %}
  5. {% set marginTop        = pimcore_select('margin_top').getData() %}
  6. {% set marginBottom     = pimcore_select('margin_bottom').getData() %}
  7. {% set anchorId         = pimcore_input('anchor').getData() %}
  8. {% set containerWidth   = pimcore_select('teaser_height').getData() in [ 'large', 'xl' ] ? 'full-width' : pimcore_select('container_width').getData() %}
  9. {% set areaClass        = class ~ ' ' ~ marginTop ~ ' ' ~ marginBottom ~ ' ' ~ containerWidth %}
  10. {# Teaser block settings #}
  11. {% set layout       = pimcore_select('layout').getData() %}
  12. {% set headerTag    = pimcore_select('header_tag').getData() %}
  13. {% set linkAsBtn    = pimcore_checkbox('link_as_button').isChecked() %}
  14. <div class="area area--teaser {{ areaClass }}"{% if anchorId %} id="{{ anchorId }}"{% endif %}>
  15.     {% set teaserHeight = pimcore_select('teaser_height').getData() ? pimcore_select('teaser_height').getData() : 'default' %}
  16.     {% if editmode %}
  17.         {{ pimcore_relations('teaser_items', {
  18.             'types': ['object'],
  19.             'subtypes': {
  20.                 'object': ['object']
  21.             },
  22.             'classes': ['Teaser'],
  23.             'reload': true,
  24.             'class': 'container'
  25.         }) }}
  26.         <div class="cols cols--2 container">
  27.             {% set teaserTypeDisable = false %}
  28.             {% if layout == 'slider' %}
  29.                 {% set teaserTypeDisable = true %}
  30.                 <div style="display: none;">
  31.                     {{ pimcore_select('teaser_height').setDataFromEditmode('klein') }}
  32.                 </div>
  33.             {% endif %}
  34.             <div class="card--config-edit">
  35.                 <strong>Teaser Größe:</strong>
  36.                 {{ pimcore_select('teaser_height', {
  37.                     'store': [
  38.                         [ 'default', 'klein' ],
  39.                         [ 'medium', 'mittel' ],
  40.                         [ 'large', 'groß' ],
  41.                         [ 'xl', 'xl' ]
  42.                     ],
  43.                     'defaultValue': 'default',
  44.                     'reload': true,
  45.                     'disabled': teaserTypeDisable
  46.                 }) }}
  47.             </div>
  48.             {# to disable row cols select if teaser height is not small #}
  49.             {% set disabled = false %}
  50.             {% if teaserHeight != 'default' and layout != 'slider' %}
  51.                 {% set disabled = true %}
  52.                 <div style="display: none;">
  53.                     {{ pimcore_select('teaser_row_cols').setDataFromEditmode('1 Spalte') }}
  54.                 </div>
  55.             {% endif %}
  56.             <div class="card--config-edit">
  57.                 <strong>Spalten:</strong>
  58.                 {{ pimcore_select('teaser_row_cols', {
  59.                     'store': [
  60.                         [ 'auto', 'automatisch' ],
  61.                         [ 1, '1 Spalte' ],
  62.                         [ 2, '2 Spalten' ],
  63.                         [ 3, '3 Spalten' ],
  64.                         [ 4, '4 Spalten' ]
  65.                     ],
  66.                     'defaultValue': 'auto',
  67.                     'reload': true,
  68.                     'disabled': disabled
  69.                 }) }}
  70.             </div>
  71.             {% if teaserHeight not in [ 'large', 'xl' ] %}
  72.                 <div class="card--config-edit" style="margin-top: 0; margin-bottom: 30px">
  73.                     {{ pimcore_checkbox('teaser_border', {
  74.                         'label': 'Teaser mit Rahmen',
  75.                         'reload': true
  76.                     }) }}
  77.                 </div>
  78.             {% endif %}
  79.         </div>
  80.     {% endif %}
  81.     {% set hasBorder = pimcore_checkbox('teaser_border') ? pimcore_checkbox('teaser_border').isChecked() : 0 %}
  82.     {% set hasBorder = teaserHeight in [ 'large', 'xl' ] ? 0 : pimcore_checkbox('teaser_border').isChecked() %}
  83.     {% set cols = pimcore_select('teaser_row_cols').getData() == '1 Spalte' ? 1 : pimcore_select('teaser_row_cols').getData() %}
  84.     {% if cols == 'auto' %}
  85.         {% set cardElementLength = pimcore_relations('teaser_items').getElements() | length %}
  86.         {% set cols = cardElementLength < 4 ? cardElementLength : 4 %}
  87.     {% endif %}
  88.     {% if layout == 'row' %}
  89.         <div class="cols cols--{{ cols }}">
  90.             {% for item in pimcore_relations('teaser_items') %}
  91.                 {{ teaser(item, headerTag, linkAsBtn, hasBorder, teaserHeight) }}
  92.             {% endfor %}
  93.         </div>
  94.     {% else %}
  95.         {% if editmode %}
  96.             <div class="cols cols--3 container">
  97.                 <div class="card--config-edit">
  98.                     {{ pimcore_checkbox('teaser_no_pagination', {
  99.                         'label': 'Pagination deaktivieren',
  100.                         'reload': true
  101.                     }) }}
  102.                 </div>
  103.                 <div class="card--config-edit">
  104.                     {{ pimcore_checkbox('teaser_no_arrows', {
  105.                         'label': 'Controls deaktivieren',
  106.                         'reload': true
  107.                     }) }}
  108.                 </div>
  109.                 <div class="card--config-edit">
  110.                     {{ pimcore_checkbox('teaser_big', {
  111.                         'label': 'breite Teaser',
  112.                         'reload': true
  113.                     }) }}
  114.                 </div>
  115.             </div>
  116.         {% endif %}
  117.         {% set pagination = pimcore_checkbox('teaser_no_pagination').isChecked() ? 'false' : 'true' %}
  118.         {% set arrows = pimcore_checkbox('teaser_no_arrows').isChecked() ? 'false' : 'true' %}
  119.         {% set teaserBig = pimcore_checkbox('teaser_big').isChecked() %}
  120.         {{ teaserSlider(pimcore_relations('teaser_items').getElements(), headerTag, linkAsBtn, hasBorder, cols, pagination, arrows, teaserBig) }}
  121.     {% endif %}
  122. </div>