Browse code

Integrate managed properties BE module and FE modules

Benjamin Roth authored on07/08/2024 13:28:28
Showing1 changed files
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 %}