{% from '@Provider/macros/card.html.twig' import card %}
{% from '@Provider/macros/card.html.twig' import cardGrid %}
{% from '@Provider/macros/card.html.twig' import cardSlider %}
{% from '@Provider/macros/include-svg.html.twig' import includeSvg %}
{# Default block settings #}
{% set class = pimcore_input('class').getData() %}
{% set marginTop = pimcore_select('margin_top').getData() %}
{% set marginBottom = pimcore_select('margin_bottom').getData() %}
{% set containerWidth = pimcore_select('container_width').getData() %}
{% set areaClass = class ~ ' ' ~ marginTop ~ ' ' ~ marginBottom ~ ' ' ~ containerWidth %}
{% set anchorId = pimcore_input('anchor').getData() %}
{# Card block settings #}
{% set layout = pimcore_select('layout').getData() %}
{% if layout == 'slider' %}
{% set areaClass = areaClass ~ ' ' ~ 'has-slider' %}
{% endif %}
{# Card Variants config #}
{% set cardVariant = document.getProperty('card_variant') ? document.getProperty('card_variant') : 'variant--default' %}
<div class="area area--cards {{ areaClass }}"{% if anchorId %} id="{{ anchorId }}"{% endif %}>
{% if editmode %}
{{ pimcore_relations('card_items', {
"types": ["object"],
"subtypes": {
"object": ["object"]
},
"classes": ["Card"],
"reload": true
}) }}
{% if 'variant--btn' in cardVariant %}
<div class="card--config-edit">
<strong>Button Style:</strong>
{{ pimcore_select('card_button_style', {
'store': [
[ 'primary', 'primär' ],
[ 'secondary', 'sekundär' ],
[ 'outline', 'outline' ]
],
'defaultValue': 'primary',
'reload': true
}) }}
</div>
{% endif %}
{% endif %}
{% set button = pimcore_select('card_button_style').getData() %}
{% if layout == 'row' %}
{% if editmode %}
<div class="card--config-edit">
<strong>Spalten:</strong>
{{ pimcore_select('card_row_cols', {
'store': [
[ 'auto', 'automatisch' ],
[ 1, '1 Spalte' ],
[ 2, '2 Spalten' ],
[ 3, '3 Spalten' ],
[ 4, '4 Spalten' ]
],
'defaultValue': 'auto',
'reload': true
}) }}
</div>
{% endif %}
{% set cols = pimcore_select('card_row_cols').getData() %}
{% if cols == 'auto' %}
{% set cardElementLength = pimcore_relations('card_items').getElements() | length %}
{% set cols = cardElementLength < 4 ? cardElementLength : 4 %}
{% endif %}
<div class="cols cols--{{ cols }}">
{% for cardItem in pimcore_relations('card_items') %}
{{ card(cardItem, '', button) }}
{% endfor %}
</div>
{% elseif layout == 'grid' %}
{% if editmode %}
<div class="card--config-edit">
<strong>Zeilen:</strong>
{{ pimcore_select('card_grid_rows', {
'store': [
[ 1, '1 Zeile' ],
[ 2, '2 Zeilen' ],
[ 3, '3 Zeilen' ],
[ 4, '4 Zeilen' ]
],
'defaultValue': 3,
'reload': true
}) }}
</div>
{% endif %}
{% set rows = ( pimcore_select('card_grid_rows').getData() - 1 ) %}
<div class="grid">
{{ cardGrid(pimcore_relations('card_items').getElements(), rows, button) }}
</div>
{% else %}
{% if editmode %}
<div class="card--config-edit">
<strong>Zeilenhöhe:</strong>
{{ pimcore_select('card_slider_row_height', {
'store': [
['height--large', 'hoch'],
['', 'mittel'],
['height--small', 'gering'],
['height--tiny', 'winzig']
],
'defaultValue': 'height--large',
'reload': true,
}) }}
</div>
<div class="card--config-edit">
{{ pimcore_checkbox('no_pagination', {
'label': 'Pagination deaktivieren',
'reload': true
}) }}
{{ pimcore_checkbox('no_arrows', {
'label': 'Controls deaktivieren',
'reload': true
}) }}
</div>
{% endif %}
{% set pagination = pimcore_checkbox('no_pagination').isChecked() ? 'false' : 'true' %}
{% set arrows = pimcore_checkbox('no_arrows').isChecked() ? 'false' : 'true' %}
{% set rowHeight = pimcore_select('card_slider_row_height').getData() %}
{{ cardSlider(pimcore_relations('card_items'), rowHeight, pagination, arrows, button) }}
{% endif %}
</div>