{% from '@Provider/macros/teaser.html.twig' import teaser %}
{% from '@Provider/macros/teaser.html.twig' import teaserSlider %}
{# Default block settings #}
{% set class = pimcore_input('class').getData() %}
{% set marginTop = pimcore_select('margin_top').getData() %}
{% set marginBottom = pimcore_select('margin_bottom').getData() %}
{% set anchorId = pimcore_input('anchor').getData() %}
{% set containerWidth = pimcore_select('teaser_height').getData() in [ 'large', 'xl' ] ? 'full-width' : pimcore_select('container_width').getData() %}
{% set areaClass = class ~ ' ' ~ marginTop ~ ' ' ~ marginBottom ~ ' ' ~ containerWidth %}
{# Teaser block settings #}
{% set layout = pimcore_select('layout').getData() %}
{% set headerTag = pimcore_select('header_tag').getData() %}
{% set linkAsBtn = pimcore_checkbox('link_as_button').isChecked() %}
<div class="area area--teaser {{ areaClass }}"{% if anchorId %} id="{{ anchorId }}"{% endif %}>
{% set teaserHeight = pimcore_select('teaser_height').getData() ? pimcore_select('teaser_height').getData() : 'default' %}
{% if editmode %}
{{ pimcore_relations('teaser_items', {
'types': ['object'],
'subtypes': {
'object': ['object']
},
'classes': ['Teaser'],
'reload': true,
'class': 'container'
}) }}
<div class="cols cols--2 container">
{% set teaserTypeDisable = false %}
{% if layout == 'slider' %}
{% set teaserTypeDisable = true %}
<div style="display: none;">
{{ pimcore_select('teaser_height').setDataFromEditmode('klein') }}
</div>
{% endif %}
<div class="card--config-edit">
<strong>Teaser Größe:</strong>
{{ pimcore_select('teaser_height', {
'store': [
[ 'default', 'klein' ],
[ 'medium', 'mittel' ],
[ 'large', 'groß' ],
[ 'xl', 'xl' ]
],
'defaultValue': 'default',
'reload': true,
'disabled': teaserTypeDisable
}) }}
</div>
{# to disable row cols select if teaser height is not small #}
{% set disabled = false %}
{% if teaserHeight != 'default' and layout != 'slider' %}
{% set disabled = true %}
<div style="display: none;">
{{ pimcore_select('teaser_row_cols').setDataFromEditmode('1 Spalte') }}
</div>
{% endif %}
<div class="card--config-edit">
<strong>Spalten:</strong>
{{ pimcore_select('teaser_row_cols', {
'store': [
[ 'auto', 'automatisch' ],
[ 1, '1 Spalte' ],
[ 2, '2 Spalten' ],
[ 3, '3 Spalten' ],
[ 4, '4 Spalten' ]
],
'defaultValue': 'auto',
'reload': true,
'disabled': disabled
}) }}
</div>
{% if teaserHeight not in [ 'large', 'xl' ] %}
<div class="card--config-edit" style="margin-top: 0; margin-bottom: 30px">
{{ pimcore_checkbox('teaser_border', {
'label': 'Teaser mit Rahmen',
'reload': true
}) }}
</div>
{% endif %}
</div>
{% endif %}
{% set hasBorder = pimcore_checkbox('teaser_border') ? pimcore_checkbox('teaser_border').isChecked() : 0 %}
{% set hasBorder = teaserHeight in [ 'large', 'xl' ] ? 0 : pimcore_checkbox('teaser_border').isChecked() %}
{% set cols = pimcore_select('teaser_row_cols').getData() == '1 Spalte' ? 1 : pimcore_select('teaser_row_cols').getData() %}
{% if cols == 'auto' %}
{% set cardElementLength = pimcore_relations('teaser_items').getElements() | length %}
{% set cols = cardElementLength < 4 ? cardElementLength : 4 %}
{% endif %}
{% if layout == 'row' %}
<div class="cols cols--{{ cols }}">
{% for item in pimcore_relations('teaser_items') %}
{{ teaser(item, headerTag, linkAsBtn, hasBorder, teaserHeight) }}
{% endfor %}
</div>
{% else %}
{% if editmode %}
<div class="cols cols--3 container">
<div class="card--config-edit">
{{ pimcore_checkbox('teaser_no_pagination', {
'label': 'Pagination deaktivieren',
'reload': true
}) }}
</div>
<div class="card--config-edit">
{{ pimcore_checkbox('teaser_no_arrows', {
'label': 'Controls deaktivieren',
'reload': true
}) }}
</div>
<div class="card--config-edit">
{{ pimcore_checkbox('teaser_big', {
'label': 'breite Teaser',
'reload': true
}) }}
</div>
</div>
{% endif %}
{% set pagination = pimcore_checkbox('teaser_no_pagination').isChecked() ? 'false' : 'true' %}
{% set arrows = pimcore_checkbox('teaser_no_arrows').isChecked() ? 'false' : 'true' %}
{% set teaserBig = pimcore_checkbox('teaser_big').isChecked() %}
{{ teaserSlider(pimcore_relations('teaser_items').getElements(), headerTag, linkAsBtn, hasBorder, cols, pagination, arrows, teaserBig) }}
{% endif %}
</div>