1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,72 @@ |
1 |
+{% extends '@Contao/frontend_module/_base.html.twig' %} |
|
2 |
+{% import "@ContaoCore/Image/Studio/_macros.html.twig" as studio %} |
|
3 |
+ |
|
4 |
+{% block content %} |
|
5 |
+ |
|
6 |
+ {% block filter %} |
|
7 |
+ <div class="-padding content-background-wrapper"> |
|
8 |
+ <div class="content-background-wrapper-bg"> |
|
9 |
+ </div> |
|
10 |
+ |
|
11 |
+ <div class="content-background-wrapper-fg"> |
|
12 |
+ <div class="content-grid"> |
|
13 |
+ <div class="fragments"> |
|
14 |
+ <h5>{{ 'MSC.re_filter'|trans({}, 'contao_default') }}</h5> |
|
15 |
+ <form class="assets-list-filter" hx-get="{{ pageUrl is defined ? pageUrl : '' }}" hx-push-url="false" hx-headers='{"VR-Ajax": "RePropertiesList"}' hx-trigger="change, submit" hx-target="closest .module-managed-property" hx-indicator="body" class="filter"> |
|
16 |
+ {% if filterOptions is defined and filterOptions is iterable %} |
|
17 |
+ {% for key, options in filterOptions %} |
|
18 |
+ <div class="filter-wrapper"> |
|
19 |
+ <select name="filter[{{ key }}]"{% if filter[key] is defined and filter[key] is not empty %} class="active"{% endif %}> |
|
20 |
+ <option value="">{{ ('REF.re_filter.' ~ key)|trans({}, 'contao_default') }}</option> |
|
21 |
+ {% for value, label in options %} |
|
22 |
+ <option value="{{ value }}"{% if filter[key] is defined and filter[key] == value %} selected{% endif %}>{{ label }}</option> |
|
23 |
+ {% endfor %} |
|
24 |
+ </select> |
|
25 |
+ </div> |
|
26 |
+ {% endfor %} |
|
27 |
+ {% endif %} |
|
28 |
+ </form> |
|
29 |
+ </div> |
|
30 |
+ </div> |
|
31 |
+ </div> |
|
32 |
+ </div> |
|
33 |
+ {% endblock %} |
|
34 |
+ |
|
35 |
+ {% block assets %} |
|
36 |
+ <div class="assetList"> |
|
37 |
+ {% for item in assets %} |
|
38 |
+ {% block item %} |
|
39 |
+ <div class="asset re_asset_card"> |
|
40 |
+ {% if item.teaserFigure %} |
|
41 |
+ {{- studio.figure(item.teaserFigure, { attr: { class: ('image_container media') }}) -}} |
|
42 |
+ {% endif %} |
|
43 |
+ |
|
44 |
+ <div class="details"> |
|
45 |
+ <ul> |
|
46 |
+ <li> |
|
47 |
+ <span class="label">Adresse:</span> |
|
48 |
+ {% if item.address is not empty %}{{ item.address }}<br>{% endif %} |
|
49 |
+ {% if item.postal is not empty and item.city is not empty %}{{ item.postal }} {{ item.city }}<br>{% endif %} |
|
50 |
+ </li> |
|
51 |
+ {% if item.livingSpace > 0 %} |
|
52 |
+ <li> |
|
53 |
+ <span class="label">Wohnfläche:</span> |
|
54 |
+ {{ item.livingSpace|number_format(2, ',', '') }} m² |
|
55 |
+ </li> |
|
56 |
+ {% endif %} |
|
57 |
+ </ul> |
|
58 |
+ {% if item.detailsUrl %} |
|
59 |
+ <p class="details-link"><a class="link" href="{{ item.detailsUrl }}">{{ 'MSC.more'|trans({}, 'contao_default') }}</a></p> |
|
60 |
+ {% endif %} |
|
61 |
+ </div> |
|
62 |
+ </div> |
|
63 |
+ {% endblock %} |
|
64 |
+ {% endfor %} |
|
65 |
+ </div> |
|
66 |
+ {% endblock %} |
|
67 |
+ |
|
68 |
+ |
|
69 |
+ {% block overlay %} |
|
70 |
+ <div class="assets-list-overlay"></div> |
|
71 |
+ {% endblock %} |
|
72 |
+{% endblock %} |