1
# onOffice Elementor Bridge
2
3
Version 0.9.8 – Entwicklungsfassung von FRESH.
4
5
## Zweck
6
7
Das Plugin ergänzt **onOffice for WP-Websites**. Es übernimmt Immobilien über dessen vorhandene API-Anbindung und speichert sie als echte lokale WordPress-Datensätze. Damit können Elementor Pro, SEO-Plugins und eigene Templates mit den Daten arbeiten, ohne an die Standardausgabe des onOffice-Plugins gebunden zu sein.
8
9
## Voraussetzungen
10
11
- WordPress 6.2+
12
- PHP 8.0+
13
- offizielles Plugin **onOffice for WP-Websites** (gegen 6.14 entwickelt)
14
- darin eingerichtete/funktionierende onOffice-API-Zugangsdaten
15
- Elementor Pro optional, aber für Dynamic-Template-Nutzung empfohlen
16
17
## Neu in 0.2.0
18
19
- dynamische Feldschema-Erkennung mit deutschen/überlieferten Feldbezeichnungen
20
- vollständiger Feldimport in API-Blöcken statt 250-Feld-Grenze
21
- Mapping für WordPress-Titel, Inhalt und Auszug
22
- Taxonomien für Ort, Objektart, Vermarktungsart und Sync-Status
23
- Sync-Status und onOffice-ID direkt in der Immobilienliste
24
- Sync-Infobox im Immobilien-Editor
25
- lokaler Galerie-Dynamic-Tag für Elementor
26
- Galerie-Shortcode `[oo_gallery]`
27
- reaktiviert archivierte Immobilien automatisch, wenn sie wieder in onOffice auftauchen
28
29
## Custom Fields
30
31
Jedes geladene onOffice-Feld wird als WordPress-Metafeld gespeichert:
32
33
`oo_<onoffice-feldname>`
34
35
Beispiele:
36
37
- `oo_kaufpreis`
38
- `oo_wohnflaeche`
39
- `oo_anzahl_zimmer`
40
- `oo_ort`
41
- `oo_objektbeschreibung`
42
43
Zusätzlich:
44
45
- `_fresh_oo_id` – onOffice-ID
46
- `oo_gallery_ids` – Array lokaler Attachment-IDs
47
- `oo_gallery_csv` – dieselben IDs kommasepariert
48
- `oo_gallery_remote` – Rohinformationen/Remote-URLs der onOffice-Bilder
49
50
## Elementor
51
52
Normale Werte: **Dynamic Tags → Custom Field** und den gewünschten `oo_*`-Key verwenden.
53
54
Galerie: In einem Elementor-Widget, das den Dynamic-Tag-Typ „Gallery“ unterstützt, **onOffice Galerie (lokal)** auswählen.
55
56
Alternativ kann ein Shortcode-Widget verwendet werden:
57
58
`[oo_gallery]`
59
60
## Verhalten bei entfernten Immobilien
61
62
Standardmäßig werden nicht mehr gelistete Immobilien **nicht gelöscht**, sondern auf Entwurf gesetzt und mit Status „Archiviert“ markiert. Dadurch bleiben Datensatz, Medien und Historie lokal erhalten.
63
64
## Wichtiger Hinweis
65
66
Dies ist noch eine Entwicklungsfassung. Vor Produktion auf einer Staging-Seite mit dem echten Kundenaccount testen. Insbesondere kundenspezifische onOffice-Felder, Feldtypen, Bildkategorien, Mehrsprachigkeit und große Datenbestände müssen gegen die reale Installation geprüft werden.
67
68
## Immobilien-Suche (0.3.0-Paket)
69
70
Zusätzlich enthalten ist `onoffice-property-search.php` mit dem Shortcode:
71
72
`[oo_property_search]`
73
74
Die Maske filtert den lokalen Immobilienbestand nach Kaufen/Mieten, Objektart, Ort, Preis, Wohnfläche, Zimmer und Suchbegriff.
75
76
## Demo-Modus / Seeder (v0.4)
77
Unter **Immobilien → Demo-Immobilien** können 10 Berliner Beispielobjekte angelegt werden. Sie verwenden dieselben `oo_*`-Metafelder und Taxonomien wie der spätere Live-Import. Dadurch können Elementor-Templates, Loop-Grids und die Suchmaske vor Freischaltung des Kundenaccounts komplett gebaut und getestet werden. Der Löschbutton entfernt ausschließlich vom Seeder erzeugte Demo-Objekte.
78
79
80
## 0.5.2
81
82
- Elementor Dynamic Tag `fresh-oo-field` als robuste benannte `Data_Tag`-Klasse umgesetzt.
83
- Klasse wird erst im Elementor-Dynamic-Tag-Registrierungs-Hook geladen.
84
- Bestehende Loop-Templates bleiben kompatibel, da der Tag-Name unverändert bleibt.
85
86
87
## 0.7.0
88
- Neues Admin-Dashboard mit Statuskarten, Sync-Status, Mapping-Bereichen und einklappbaren Diagnoseansichten.
89
- Elementor Dynamic Tag listet jetzt auch dynamisch erkannte onOffice-Felder.
90
- Zahlen werden im Smart-Modus ohne unnötige .00 ausgegeben.
91
- Meta-Box für Immobilien übersichtlicher und auf tatsächlich vorhandene Werte reduziert.
92
93
94
## v0.7.0 — onOffice Immobiliengalerie
95
96
Neu ist ein eigenes Elementor-Widget **„onOffice Immobiliengalerie“** im WooCommerce-Stil:
97
98
- großes Hauptbild mit Thumbnail-Slider
99
- Klick auf Thumbnail tauscht das Hauptbild
100
- Swipe- und Tastatur-Navigation
101
- optionale Fullscreen-Lightbox
102
- responsive Seitenverhältnisse, Thumbnail-Größen und Abstände
103
- umfangreiche Elementor-Styling-Optionen für Radien, Rahmen, Schatten, Farben und Navigation
104
- nutzt automatisch die lokal importierten `oo_gallery_ids` der aktuellen Immobilie
105
- responsive Bilder mit `srcset`/`sizes`, Lazy Loading für Thumbnails und priorisiertem Hauptbild
106
- SEO/GEO-freundliches semantisches `ImageGallery`/`ImageObject`-Markup, sinnvolle Alt-Texte und optionale Captions
107
- barrierearme Buttons, ARIA-Labels, Tastaturbedienung und `prefers-reduced-motion`
108
109
## 0.8.0 – Elementor Toolkit
110
111
Version 0.8.0 turns the bridge into a modular Elementor toolkit. The widgets read the locally synchronized `oo_*` fields of the current `fresh_immobilie` post, hide missing values automatically, and expose responsive Elementor style controls instead of imposing a fixed onOffice layout.
112
113
### New widgets
114
115
- **onOffice Feld** – any imported onOffice field with type-aware formatting, optional icon, label, prefix/suffix and empty-value handling.
116
- **onOffice Feldgruppe** – freely configurable repeater of fields with individual icons, labels and formatting; responsive grid columns.
117
- **onOffice Eckdaten** – a ready-to-use facts variant for living area, rooms, bedrooms, bathrooms etc., fully editable like the field group.
118
- **onOffice Preis** – automatically chooses purchase/rental price, supports secondary price, monthly period, commission and `Offer` semantics.
119
- **onOffice Ausstattung** – boolean/value-aware icon grid; entries only appear when the configured onOffice field is actually present/true.
120
- **onOffice Detailtabelle** – freely sortable fields grouped into sections such as category, prices, areas and key facts; uses semantic `dl/dt/dd` markup.
121
- **onOffice Energieausweis** – visual A+–H efficiency scale plus available energy certificate data; derives a display class from consumption when no class is supplied.
122
- **onOffice Immobiliengalerie** – WooCommerce-style main image + thumbnail slider from v0.7 remains included.
123
124
All toolkit widgets live in their own Elementor category **onOffice · FRESH** and support Elementor typography, colors, borders, radii, shadows and responsive controls where appropriate. Empty data is suppressed by default to keep single-property templates reusable across heterogeneous onOffice records.
125
126
127
## 0.9.2 — Numeric formatter hotfix
128
129
Behebt einen Fehler der Smart-Formatierung, bei dem signifikante Nullen am Ende ganzer Zahlen entfernt wurden. Werte wie `160.00`, `680.00`, `200.00` und `299000.00` werden nun korrekt als `160`, `680`, `200` und `299.000` dargestellt. Dezimalwerte wie `2.50` bleiben kompakt als `2,5` erhalten.
130
131
## 0.9.0 — Smart Rendering
132
133
Version 0.9.0 führt eine zentrale semantische Feldlogik ein. Das Toolkit unterscheidet nun unter anderem Preise, Flächen, Energiekennwerte, Jahreszahlen, Datumswerte, Zähler, Booleans und Arrays. Dadurch werden Felder kontextgerecht formatiert und sinnlose Nullwerte intelligent ausgeblendet.
134
135
Neu bzw. erweitert:
136
- Baujahr wird als `2002` statt `2.002` ausgegeben.
137
- Datumswerte werden deutsch formatiert (`05.04.2022`).
138
- Kauf-/Mietfelder werden anhand der Vermarktungsart sinnvoll gefiltert.
139
- `onOffice Eckdaten` besitzt intelligente Presets und drei Darstellungsmodi.
140
- `onOffice Detailtabelle` kann automatisch passende Sektionen und Felder erzeugen.
141
- `onOffice Energieausweis` besitzt Kennwert, Klasse, Skala und Marker sowie Full/Compact/Scale-Layouts.
142
- Neues Widget `onOffice Objekt-Meta` für Objektart, Objekttyp, Vermarktungsart und Objektnummer.
143
- Neues Widget `onOffice Adresse` mit Datenschutzstufen und optionalem `PostalAddress`-Markup.
144
145
146
## Neu in 0.9.2
147
- Elementor Widget **onOffice Objektkopf**: Titel, Ort, Objekt-Meta und Preis in einem intelligenten Hero-Baustein.
148
- Objekt-Meta mit optionalen Icons, vertikalem Modus und frei benennbarer Objektnummer.
149
- Adress-Widget mit Inline/Mehrzeilen-Layout, privacy-aware Kartenlink und sauberem PostalAddress-Markup.
150
- Erweiterte Styling-Optionen für Meta und Adresse.
151
152
153
## 0.9.3
154
- Neues Elementor Widget **onOffice Status-Badge** auf Basis von `oo_status2`/`oo_status`, inklusive eigener Farben für aktive Vermarktung, Akquise, reserviert, verkauft/vermietet und sonstige Stati.
155
- Optionaler globaler Farb-Override für das offizielle onOffice-Frontend (Links, Formulare, Buttons, Fokus/Hover) direkt in den Bridge-Einstellungen.
156
- Immobilien-Suchfeld auf 6-Spalten-Grid angepasst; Suchbutton spannt 4 Spalten, äußerer Hintergrund transparent, weißer Hintergrund liegt nur auf dem Grid.
157
158
## 0.9.4 — Responsive Elementor controls
159
160
- Erweitert die Toolkit-Widgets um responsive Desktop/Tablet/Mobile-Steuerung für sinnvolle Layoutwerte wie Ausrichtung, Spalten, Abstände, Radien, Padding und Icon-Größen.
161
- Typografie bleibt über Elementors responsive Typography Group Controls steuerbar.
162
- Detailtabelle und Energie-Details erhalten responsive Spaltensteuerung.
163
- Galerie-Radien und aktive Rahmenbreite sind responsive.
164
- Entfernt den festen Galerie-Hintergrund `#F3F1ED`; die Galerie ist standardmäßig transparent. Eine Hintergrundfarbe kann weiterhin bewusst im Widget gesetzt werden.
165
166
167
## 0.9.6
168
- Ausstattungswerte semantisch bereinigt: verschachtelte Stellplatzdaten werden als echte Stellplatztypen/-anzahlen ausgegeben, boolesche Werte wie Haustiere nicht mehr als rohe `1`.
169
- Galerie gegen globale Button-Hover-Styles abgeschirmt: kein pinker Hintergrund am Hauptbild und kein pinker Rahmen an Thumbnails.
170
171
## 0.9.5 — Ausstattungs-Automatik & Admin-Notice-Fix
172
173
- Admin-Hinweise anderer Plugins werden nicht mehr in den dunklen Sync-Hero hineingeschoben; der WordPress-Notice-Anker liegt außerhalb des Hero-Bereichs.
174
- Das Widget **onOffice Ausstattung** rendert bei komplett leeren Treffern gar nichts mehr — auch keinen Hinweistext.
175
- Deutlich umfangreicherer Standardkatalog an Ausstattungsmerkmalen mit Icons (u. a. Balkon, Terrasse, Fahrstuhl, Keller, Garten, Gäste-WC, Barrierefreiheit, TV, Kamin, Klima, Sauna, Wintergarten, Whirlpool, Einliegerwohnung, Denkmalschutz, Heizung, Befeuerung, Stellplatz, Boden, Internet, Haustiere, Erschließung).
176
- Nicht gesetzte/inhaltlich leere Merkmale werden automatisch ausgeblendet; bei befüllten Text-/Auswahlfeldern kann der konkrete Wert mit ausgegeben werden.
177
178
179
## 0.9.7
180
- Neues Elementor-Widget **onOffice Immobilienbild** als schlanke Alternative zur Galerie.
181
- Nutzt automatisch Titelbild oder erstes Galeriebild der Immobilie.
182
- Optionales Objektstatus-Badge direkt als Overlay auf dem Bild.
183
- Badge-Position, Abstände, Typografie, Radius, Border, Shadow und Farben je Status in Elementor stylebar steuerbar.
184
- Bildbreite, Höhe, Fit, Radius, Border und Shadow responsiv stylebar.
185
186
187
## Neu in 0.9.8
188
189
- Wird in onOffice **„Auf Website veröffentlichen“** deaktiviert, setzt der nächste Sync eine bereits lokale Immobilie automatisch auf **Entwurf**.
190
- Die lokale Kopie bleibt erhalten und wird bei erneuter Freigabe automatisch wieder veröffentlicht.
191
- Nicht freigegebene Objekte gelten weiterhin als gesehen und werden nicht zusätzlich als „fehlend“ archiviert.
192
193
194
## 0.9.9
195
- Objektkopf: Preisbereich um Provision, Zusatzpreis und Mietzeitraum ergänzt; Zusatztexte separat stylebar.
196
197
198
## 0.10.1
199
- Neues Elementor-Widget „onOffice Objektanfrage“: rendert ein offizielles onOffice-Kontaktformular direkt im Immobilien-Template und setzt automatisch die onOffice Objekt-ID als Estate-Kontext.
200
- Verwendet bewusst Kontaktformulare (nicht das Interessenten-/Suchprofil-Formular), damit objektbezogene Anfragen über die offizielle onOffice contactaddress-Logik laufen.
201
202
203
## 0.10.1
204
- Neues Elementor-Widget „onOffice Objektkarte“ für die aktuelle Immobilie.
205
- Neues Elementor-Widget „onOffice Immobilienkarte“ für mehrere veröffentlichte Immobilien.
206
- Nutzt die Kartenanbieter-Einstellung des offiziellen onOffice-Plugins (OpenStreetMap oder Google Maps) oder einen Widget-Override.
207
- Importiert die onOffice-Kartenfelder `breitengrad`, `laengengrad`, `showGoogleMap` und `virtualAddress`, sofern im Account lesbar.
208
- Karten werden nur ausgegeben, wenn gültige Koordinaten vorhanden sind; die Mehrfachkarte berücksichtigt nur veröffentlichte WordPress-Objekte.
209
210
211
## 0.10.3
212
- Stabilisiert Elementor-Editor: den in 0.10.2 hinzugefügten großen generischen Feld-Repeater im Objekt-Meta-Widget wieder entfernt.
213
- Baujahr, Etage, Zustand und Verfügbar-ab bleiben als leichte Schalter im Objekt-Meta erhalten.
214
- Baujahr, Etage und Zustand bleiben im Objektkopf zuschaltbar.
215
- Semantische onOffice-Wertübersetzungen (z. B. luftwp → Luft-Wasser-Wärmepumpe) bleiben erhalten.
216
217
218
219
## 0.10.7
220
- Energieausweis rendert keine leeren Zeilen mehr (z. B. `0000-00-00` bei „Gültig bis“).
221
- Kein Fallback mehr vom Energieausweis-Baujahr auf das allgemeine Objekt-Baujahr.
222
- Farbskala wird nur noch angezeigt, wenn eine Energieklasse vorhanden oder aus einem echten Kennwert ableitbar ist.
223
- Platzhalter-/Nullwerte werden nach der Formatierung vollständig ausgeblendet.
224
225
## 0.10.6
226
- Ausstattungs-Widget: Leere onOffice-Multiparkinglot-Strukturen werden nicht mehr als „Stellplätze“ ausgegeben. Ein Stellplatz-Eintrag erscheint nur, wenn mindestens ein Stellplatz mit Count > 0 vorhanden ist.
227