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

Open in your IDE?
  1. {% from '@Provider/macros/card.html.twig' import card %}
  2. {% from '@Provider/macros/card.html.twig' import cardGrid %}
  3. {% from '@Provider/macros/card.html.twig' import cardSlider %}
  4. {% from '@Provider/macros/include-svg.html.twig' import includeSvg %}
  5. {# Default block settings #}
  6. {% set class = pimcore_input('class').getData() %}
  7. {% set marginTop = pimcore_select('margin_top').getData() %}
  8. {% set marginBottom = pimcore_select('margin_bottom').getData() %}
  9. {% set containerWidth = pimcore_select('container_width').getData() %}
  10. {% set areaClass = class ~ ' ' ~ marginTop ~ ' ' ~ marginBottom ~ ' ' ~ containerWidth %}
  11. {% set anchorId = pimcore_input('anchor').getData() %}
  12. {# Card block settings #}
  13. {% set layout = pimcore_select('layout').getData() %}
  14. {% if layout == 'slider' %}
  15.     {% set areaClass = areaClass ~ ' ' ~ 'has-slider' %}
  16. {% endif %}
  17. {# Card Variants config #}
  18. {% set cardVariant = document.getProperty('card_variant') ? document.getProperty('card_variant') : 'variant--default' %}
  19. <div class="area area--cards {{ areaClass }}"{% if anchorId %} id="{{ anchorId }}"{% endif %}>
  20.     {% if editmode %}
  21.         {{ pimcore_relations('card_items', {
  22.             "types": ["object"],
  23.             "subtypes": {
  24.                 "object": ["object"]
  25.             },
  26.             "classes": ["Card"],
  27.             "reload": true
  28.         }) }}
  29.         {% if 'variant--btn' in cardVariant %}
  30.             <div class="card--config-edit">
  31.                 <strong>Button Style:</strong>
  32.                 {{ pimcore_select('card_button_style', {
  33.                     'store': [
  34.                         [ 'primary', 'primär' ],
  35.                         [ 'secondary', 'sekundär' ],
  36.                         [ 'outline', 'outline' ]
  37.                     ],
  38.                     'defaultValue': 'primary',
  39.                     'reload': true
  40.                 }) }}
  41.             </div>
  42.         {% endif %}
  43.     {% endif %}
  44.     {% set button = pimcore_select('card_button_style').getData() %}
  45.     {% if layout == 'row' %}
  46.         {% if editmode %}
  47.             <div class="card--config-edit">
  48.                 <strong>Spalten:</strong>
  49.                 {{ pimcore_select('card_row_cols', {
  50.                     'store': [
  51.                         [ 'auto', 'automatisch' ],
  52.                         [ 1, '1 Spalte' ],
  53.                         [ 2, '2 Spalten' ],
  54.                         [ 3, '3 Spalten' ],
  55.                         [ 4, '4 Spalten' ]
  56.                     ],
  57.                     'defaultValue': 'auto',
  58.                     'reload': true
  59.                 }) }}
  60.             </div>
  61.         {% endif %}
  62.         {% set cols = pimcore_select('card_row_cols').getData() %}
  63.         {% if cols == 'auto' %}
  64.             {% set cardElementLength = pimcore_relations('card_items').getElements() | length %}
  65.             {% set cols = cardElementLength < 4 ? cardElementLength : 4 %}
  66.         {% endif %}
  67.         <div class="cols cols--{{ cols }}">
  68.             {% for cardItem in pimcore_relations('card_items') %}
  69.                 {{ card(cardItem, '', button) }}
  70.             {% endfor %}
  71.         </div>
  72.     {% elseif layout == 'grid' %}
  73.         {% if editmode %}
  74.             <div class="card--config-edit">
  75.                 <strong>Zeilen:</strong>
  76.                 {{ pimcore_select('card_grid_rows', {
  77.                     'store': [
  78.                         [ 1, '1 Zeile' ],
  79.                         [ 2, '2 Zeilen' ],
  80.                         [ 3, '3 Zeilen' ],
  81.                         [ 4, '4 Zeilen' ]
  82.                     ],
  83.                     'defaultValue': 3,
  84.                     'reload': true
  85.                 }) }}
  86.             </div>
  87.         {% endif %}
  88.         {% set rows = ( pimcore_select('card_grid_rows').getData() - 1 ) %}
  89.         <div class="grid">
  90.             {{ cardGrid(pimcore_relations('card_items').getElements(), rows, button) }}
  91.         </div>
  92.     {% else %}
  93.         {% if editmode %}
  94.             <div class="card--config-edit">
  95.                 <strong>Zeilenhöhe:</strong>
  96.                 {{ pimcore_select('card_slider_row_height', {
  97.                     'store': [
  98.                         ['height--large', 'hoch'],
  99.                         ['', 'mittel'],
  100.                         ['height--small', 'gering'],
  101.                         ['height--tiny', 'winzig']
  102.                     ],
  103.                     'defaultValue': 'height--large',
  104.                     'reload': true,
  105.                 }) }}
  106.             </div>
  107.             <div class="card--config-edit">
  108.                 {{ pimcore_checkbox('no_pagination', {
  109.                     'label': 'Pagination deaktivieren',
  110.                     'reload': true
  111.                 }) }}
  112.                 {{ pimcore_checkbox('no_arrows', {
  113.                     'label': 'Controls deaktivieren',
  114.                     'reload': true
  115.                 }) }}
  116.             </div>
  117.         {% endif %}
  118.         {% set pagination   = pimcore_checkbox('no_pagination').isChecked() ? 'false' : 'true' %}
  119.         {% set arrows       = pimcore_checkbox('no_arrows').isChecked() ? 'false' : 'true' %}
  120.         {% set rowHeight    = pimcore_select('card_slider_row_height').getData() %}
  121.         {{ cardSlider(pimcore_relations('card_items'), rowHeight, pagination, arrows, button) }}
  122.     {% endif %}
  123. </div>