{% set specialTeaser = document.getProperty('specialTeaser') %}
{% if products|length and products|first is instanceof('\\Pimcore\\Model\\DataObject\\Product') %}
{{ include('includes/product/product-filter.html.twig', {
'products': products,
'categories': categories|default([]),
}) }}
{% else %}
{{ include('includes/product/product-filter-used.html.twig', {
'products': products,
'categories': categories|default([]),
'brands': brands|default([]),
'countries': countries|default([]),
'workingHourMin': workingHourMin|default([]),
'workingHourMax': workingHourMax|default([]),
'yearOfManufactureMin': yearOfManufactureMin|default([]),
'yearOfManufactureMax': yearOfManufactureMax|default([]),
'engineTypes': engineTypes|default([]),
'capacityMin': capacityMin|default([]),
'capacityMax': capacityMax|default([]),
}) }}
{% endif %}
<div class="js-product-grid__content">
<div class="js-product-grid-quick-filter__template" hidden>
<li class="list-inline-item">
<button type="button" class="js-product-grid-quick-filter__item product-grid-quick-filter__item">
<span class="js-product-grid-quick-filter__text"></span>
<span class="icon icon-x product-grid-quick-filter__remove" aria-label="{{ 'global.filter.remove'|trans }}"></span>
</button>
</li>
</div>
<ul class="my-4 list-md-inline list-unstyled d-md-flex align-items-center">
<li class="list-inline-item">
<ul class="js-product-grid-quick-filter my-4 list-inline">
<!-- content is append with JS -->
</ul>
</li>
<li class="list-inline-item">
<button class="align-items-center js-product-grid__remove-input btn-no-styling product-grid-quick-filter__remove-btn js-product-grid-quick-filter__remove-all" type="reset" data-name="*" hidden>
<span class="icon icon-delete product-grid-quick-filter__remove-btn-icon" aria-label="{{ 'global.filter.RemoveAllFilters'|trans }}"></span>
<span class="product-grid-quick-filter__remove-btn-text">{{ 'global.filter.RemoveAllFilters'|trans }}</span>
</button>
</li>
</ul>
<div class="row gy-2">
{% set length = products|length %}
{% set specialTeaserIndex = 3 %}
{% if length < 4 %}
{% set specialTeaserIndex = length %}
{% endif %}
{% for product in products %}
<div class="col-xl-3 col-md-6">
{{ _self.renderProductTeaser(product) }}
</div>
{% if specialTeaser and specialTeaserIndex == loop.index %}
<div class="col-xl-3 col-md-6">
{{ pimcore_inc(specialTeaser) }}
</div>
{% endif %}
{% endfor %}
{% if length == 0 %}
{{ include('includes/atoms/no-results.html.twig') }}
{% endif %}
</div>
</div>
{% macro renderProductTeaser(product) %}
{% if product is instanceof('\\Pimcore\\Model\\DataObject\\Product') %}
{% set teaserType = 'product' %}
{% elseif product is instanceof('\\Pimcore\\Model\\DataObject\\MascusProduct') %}
{% set teaserType = 'mascusProduct' %}
{% elseif product is instanceof('\\Pimcore\\Model\\DataObject\\Forklift') %}
{% set teaserType = 'forklift' %}
{% endif %}
{{ include('includes/teaser/products-teaser-'"#{teaserType}"'.html.twig', {
'product': product,
}) }}
{% endmacro %}