Feldzuordnungen
Zuordnung von Feldern für Immobiliendatensätze
Innerhalb jeder Schnittstelle ist es möglich, jedes Feld einer Import-XML einem bestimmten Feld der im Contao EstateManager existierenden Objektfelder zuzuordnen und zu formatieren.
Die XML-Datei, welche die OpenImmo Felder beinhaltet, kann sich auch innerhalb eines importierten Archivs befinden.
Feldzuordnungen sind notwendig für das Speichern der Informationen von importierten Objekten.
Wenn keine Feldzuordnungen angelegt sind, können Objekte nicht synchronisiert werden!

OpenImmo Feldzuordnungen erstellen

Nach der Erstellung einer neuen Schnittstelle existieren noch keine Zuordnungen für Felder des OpenImmo-Standards.
Durch Felder zurücksetzen
kann eine Standardzuordnung erstellt werden.

Neue Feldzuordnung erstellen

Neue Feldzuordnungen können über Neue Feldzuordnung
erstellt werden.

Typ

🔹
Typ
Hier kann der Datentyp ausgewählt werden, auf den die Feldzuordnung verweisen soll:
  • Immobilie Bezieht sich auf die Tabelle tl_real_estate und somit auf einen Immobiliendatensatz.
  • Kontaktperson Bezieht sich auf die Tabelle tl_contact_person und somit auf eine Kontaktperson (Innerhalb der Anbieterverwaltung).
🔹
Attribut
Attribute sind Informationen für den ausgewählten Typen, welche in der jeweiligen Datenbank gespeichert werden. Hier kann das Datenbankfeld für die Zuordnung ausgewählt werden.

Feld-Einstellungen

Die Feldeinstellungen dienen dazu, die übertragenen Feldinformationen innerhalb einer Importdatei ermitteln zu können. Mithilfe dieser Einstellungen ist es möglich, verschiedene Importdateien einzulesen, um sie anschließend korrekt in das System zu überführen.
🔹
OpenImmo-Feldgruppe
Feldgruppen dienen zur Identifizierung einer Kategorie. Innerhalb einer Feldgruppe können Felder gefunden werden.

Beispielhafte Ausschnitte aus einer Import.xml

Normale Feldgruppe
Verschachtelte Feldgruppe
Im nachfolgenden Beispiel ist <geo> die OpenImmo-Feldgruppe, die innen liegenden Informationen sind OpenImmo-Felder:
1
<geo>
2
<plz>12345</plz>
3
<ort>Musterstadt</ort>
4
<strasse>Musterstrasse</strasse>
5
<hausnummer>1</hausnummer>
6
</geo>
Copied!
Die OpenImmo-Feldgruppe für die Postleitzahl einer Immobilie wäre somit:
geo
Im nachfolgenden Beispiel ist die Information des OpenImmo-Feldes <gueltis_bis> innerhalb von <energiepass>, welches sich wiederum in <zustand_angaben>befindet.
1
<zustand_angaben>
2
<baujahr>1970</baujahr>
3
<energiepass>
4
<epart>BEDARF</epart>
5
<gueltig_bis>01.01.1970</gueltig_bis>
6
<endenergiebedarf>34.6</endenergiebedarf>
7
</energiepass>
8
</zustand_angaben>
Copied!
Der Zugriff auf das OpenImmo-Feld <gueltig_bis> wäre mit folgender Konfiguration der OpenImmo-Feldgruppe gegeben:
zustand_angaben/energiepass
🔹
OpenImmo-Feld
Innerhalb der OpenImmo-Felder befinden sich Werte . Auf diese kann über verschiedene Wege zugegriffen werden:

Beispielhafte Ausschnitte aus einer Import.xml

Element-Werte
Attribut-Werte
Attribut-Namen
Element-Namen
Im nachfolgenden Beispiel wird der Wert Mustermann innerhalb von <name> ausgelesen.
1
<kontaktperson>
2
<email_zentrale>[email protected]</email_zentrale>
3
<tel_zentrale>02171/4015150</tel_zentrale>
4
<name>Mustermann</name>
5
<vorname>Max</vorname>
6
<anrede>Herr</anrede>
7
</kontaktperson>
Copied!
Hierfür ist folgende Konfiguration notwendig:
OpenImmo-Feldgruppe: kontaktperson
OpenImmo-Feld: name
Im nachfolgenden Beispiel wird der Wert 51.06995 des Attributs breitengrad innerhalb von <geokoordinaten> ausgelesen. Auf Attributwerte kann mithilfe von [email protected] zugegriffen werden.
1
<geo>
2
<plz>12345</plz>
3
<ort>Musterstadt</ort>
4
<geokoordinaten breitengrad="51.06995" laengengrad="6.99735"/>
5
<strasse>Musterstr.</strasse>
6
<hausnummer>123</hausnummer>
7
<land iso_land="DEU"/>
8
</geo>
Copied!
Hierfür ist folgende Konfiguration notwendig:
OpenImmo-Feldgruppe: geo
OpenImmo-Feld: [email protected]
In manchen Fällen enthält ein Element mehrere Attribute mit Wahrheitswerten (Boolean). Mit folgenden Konfigurationen lassen sich die nachfolgenden Beispiele auslesen:
Beispiel 1 Jedes Objekt enthält nur eine Nutzungsart. In der XML werden jedoch alle Nutzungsarten als Attribute übertragen. Nur eine der Nutzungsarten ist wahr. In diesem Fall soll also der Attributname ausgegeben werden, dessen Attributwert auf true steht. Um auf den einen Attributnamen eines Elements zuzugreifen, der wahr ist, kann [email protected]+ verwendet werden.
1
<objektkategorie>
2
<nutzungsart WAZ="false" GEWERBE="false" ANLAGE="false" WOHNEN="true"/>
3
<vermarktungsart KAUF="true" LEASING="false" ERBPACHT="false" MIETE_PACHT="false"/>
4
<objektart>
5
<grundstueck grundst_typ="WOHNEN"/>
6
</objektart>
7
</objektkategorie>
Copied!
Hierfür ist folgende Konfiguration notwendig:
OpenImmo-Feldgruppe: objektkategorie
OpenImmo-Feld: [email protected]+
Der Rückgabewert mit der oben genannten Konfiguration wäre WOHNEN.
Beispiel 2 In diesem Beispiel sind mehrere Attribute innerhalb eines Elements von Wichtigkeit. Es sollen alle Attributnamen ausgelesen werden, in welchen der Wert wahr ist. Um auf alle Attributnamen eines Elements zuzugreifen, die wahr sind, kann [email protected]# verwendet werden.
1
<ausstattung>
2
<boden FLIESEN="true" TEPPICH="true" PARKETT="true" LAMINAT="true" MARMOR="true"/>
3
<heizungsart ZENTRAL="true"/>
4
<befeuerung OEL="true"/>
5
</ausstattung>
Copied!
Hierfür ist folgende Konfiguration notwendig:
OpenImmo-Feldgruppe: ausstattung
OpenImmo-Feld: [email protected]#
Der Rückgabewert mit der oben genannten Konfiguration wäre: FLIESEN TEPPICH PARKETT LAMINAT MARMOR.
Beispiel 3 In diesem Beispiel sollen alle Attribute eines Elements unabhängig des Attributwerts zurückgegeben werden. Um auf alle Attributnamen eines Elements zuzugreifen, unabhängig des Attributwerts, kann [email protected]* verwendet werden.
1
<example>
2
<element attribut1 attribut2 attribut3 attribut4/>
3
</example>
Copied!
Hierfür ist folgende Konfiguration notwendig:
OpenImmo-Feldgruppe: example
OpenImmo-Feld: [email protected]*
Der Rückgabewert mit der oben genannten Konfiguration wäre: attribut1 attribut2 attribut3 attribut4.
Im nachfolgenden Beispiel wird der Name des Elements buero_praxen innerhalb von <objektart> ausgelesen. Auf den Namen des ersten Elements innerhalb eines Elternelements kann mithilfe von [email protected][1] zugegriffen werden.
1
<objektkategorie>
2
<objektart>
3
<buero_praxen buero_typ="BUEROFLAECHE"/>
4
</objektart>
5
</objektkategorie>
Copied!
Hierfür ist folgende Konfiguration notwendig:
OpenImmo-Feldgruppe: objektkategorie
OpenImmo-Feld: [email protected][1]
Sollte der Name des zweiten oder dritten Elementes von Bedeutung sein, kann man auch [email protected][2] oder [email protected][3] verwenden.
🔹
OpenImmo-Bedingungsfeld
Bedingungsfelder sind ähnlich der OpenImmo-Felder und dienen mithilfe des OpenImmo-Bedingungswertes der Überprüfung von Attributwerten.

Beispielhafter Ausschnitt aus einer Import.xml

Attributname
Im nachfolgenden Beispiel sind <infrastruktur> und <distanzen> die OpenImmo-Feldgruppe, das Attribut distanz_zu wäre das OpenImmo-Bedingungsfeld. Auf den Attributnamen kann mithilfe von @attributname zugegriffen werden.
1
<infrastruktur>
2
<distanzen distanz_zu="EINKAUFSMOEGLICHKEITEN">0.50</distanzen>
3
<distanzen distanz_zu="FLUGHAFEN">25.00</distanzen>
4
<distanzen distanz_zu="AUTOBAHN">2.00</distanzen>
5
<distanzen distanz_zu="BUS">0.20</distanzen>
6
</infrastruktur>
Copied!
Folgende Konfiguration ist für die Verwendung des Attributnamen als Bedingungsfeld von Nöten:
OpenImmo-Feldgruppe: infrastruktur/distanzen
OpenImmo-Feld:
OpenImmo-Bedingungsfeld: @distanz_zu
Ein Bedingungsfeld benötigt immer einen Bedingungswert, welcher überprüft werden muss.
🔹
OpenImmo-Bedingungswert
Der Bedingungswert ist der zu überprüfende Attributwert des Attributnamen, welcher im OpenImmo-Bedingungsfeld eingetragen wird. Mithilfe eines Bedingungswertes kann ein Wert innerhalb mehrerer gleichnamiger Elemente ausgelesen werden.

Beispielhafter Ausschnitt aus einer Import.xml

Attributwert
Im nachfolgenden Beispiel sind <infrastruktur> und <distanzen> die OpenImmo-Feldgruppe, das Attribut distanz_zu ist das OpenImmo-Bedingungsfeld. Es soll auf den Wert des Elements <distanzen distanz_zu="FLUGHAFEN">25.00</distanzen> zugegriffen werden. Das Attribut distanz_zu ist das OpenImmo-Bedingungsfeld. Der Wert FLUGHAFEN ist der OpenImmo-Bedingungswert.
1
<infrastruktur>
2
<distanzen distanz_zu="EINKAUFSMOEGLICHKEITEN">0.50</distanzen>
3
<distanzen distanz_zu="FLUGHAFEN">25.00</distanzen>
4
<distanzen distanz_zu="AUTOBAHN">2.00</distanzen>
5
<distanzen distanz_zu="BUS">0.20</distanzen>
6
</infrastruktur>
Copied!
Folgende Konfiguration ist für die Überprüfung des Attributwertes von Nöten:
OpenImmo-Feldgruppe: infrastruktur/distanzen
OpenImmo-Feld:
OpenImmo-Bedingungsfeld: @distanz_zu
OpenImmo-Bedingungswert: FLUGHAFEN
Der Rückgabewert mit der oben genannten Konfiguration wäre: 25.00.
🔹
Werte serialisieren
Mit dieser Option lassen sich gefundene Werte serialisieren. Anwendung findet diese Option z. B. bei Bildern eines Objektes.
Diese Einstellung ist notwendig für Felder, welche in Contao serialisiert sind und als ein Wert in der Datenbank gespeichert werden. Ein Beispiel für einen serialisierten Wert in Contao wäre das Feld multiSRC.

Beispielhafter Ausschnitt aus einer Import.xml

Serialisierung
Im nachfolgenden Beispiel sind:
  • <anhaenge> und <anhang> die OpenImmo-Feldgruppe
  • <daten> und <pfad> die OpenImmo-Felder
  • @gruppe ist das OpenImmo-Bedingungsfeld
  • BILD ist der zu überprüfende OpenImmo-Bedingungswert
Es sollen alle Werte innerhalb von anhang/daten/pfad ausgegeben werden, in welchem <anhang> das Attribut gruppe und den Attributwert BILD besitzt.
Da es sich um mehrere Werte handelt, welche dem System übergeben werden sollen, kann hier serialisiert werden.
1
<anhaenge>
2
<anhang location="EXTERN" gruppe="TITELBILD">
3
<anhangtitel>Immobilie 1</anhangtitel>
4
<format>jpg</format>
5
<daten>
6
<pfad>Foto_1.jpg</pfad>
7
</daten>
8
</anhang>
9
<anhang location="EXTERN" gruppe="BILD">
10
<anhangtitel>Bild 1</anhangtitel>
11
<format>jpg</format>
12
<daten>
13
<pfad>Bild_1.jpg</pfad>
14
</daten>
15
</anhang>
16
<anhang location="EXTERN" gruppe="BILD">
17
<anhangtitel>Bild 2</anhangtitel>
18
<format>jpg</format>
19
<daten>
20
<pfad>Bild_2.jpg</pfad>
21
</daten>
22
</anhang>
23
<anhang location="EXTERN" gruppe="BILD">
24
<anhangtitel>Bild 3</anhangtitel>
25
<format>jpg</format>
26
<daten>
27
<pfad>Bild_3.jpg</pfad>
28
</daten>
29
</anhang>
30
<anhang location="EXTERN" gruppe="BILD">
31
<anhangtitel>Bild 4</anhangtitel>
32
<format>jpg</format>
33
<daten>
34
<pfad>Bild_3.jpg</pfad>
35
</daten>
36
</anhang>
37
</anhaenge>
Copied!
Folgende Konfiguration dient der Serialisierung der Werte:
OpenImmo-Feldgruppe: anhaenge/anhang
OpenImmo-Feld: daten/pfad
OpenImmo-Bedingungsfeld: @gruppe
OpenImmo-Bedingungswert: BILD Werte Serialisieren:
Der Rückgabewert mit der oben genannten Konfiguration wäre: {Bild1.jpg, Bild2.jpg, Bild3.jpg, Bild4.jpg}
🔹
Leeren Wert mappen
Wenn importierte Objekte trotz nicht-existenter Informationen in der Import.xml einen Standardwert erhalten sollen, kann hier bei Aktivierung der Checkbox, ein gewünschter Standardwert eingetragen werden.

Formatierung

Durch Formatierungen können die eingelesenen Werte vor der Speicherung in die Datenbank in eine gewünschte Form umgewandelt werden.
🔹
Formatierung
Hier kann ausgewählt werden, welche Formatierung angewendet werden soll. Folgende Optionen stehen zur Verfügung:
  • Keine
  • Zahl
  • Datum
  • Text
  • Boolescher Wert

Zahl (Formatierung)

Kürzt eine Zahl anhand der übergebenen Dezimalstellen.
Beispiel: Anzahl an Dezimalstellen: 2 Aus 5000 wird 50.00
Nutzt die Funktion number_format()

Datum (Formatierung)

Wandelt ein übertragenes Datum in einen Timestamp um. Optional kann ein Datumsformat angegeben werden.
Beispiel: Aus 1990-03-21 wird 638006400
Nutzt die Funktion strtotime()

Text (Formatierung)

Mithilfe der Text-Formatierung können gefundene Strings formatiert werden. Folgende Auswahlmöglichkeiten stehen zur Verfügung:
  • Keine
  • Kleinschreibung
  • Großschreibung
  • Erstes Zeichen groß
  • Sonderzeichen ersetzen
Kleinschreibung
Großschreibung
Erstes Zeichen groß
Sonderzeichen ersetzen
Setzt einen String in Kleinbuchstaben um.
Beispiel: Aus GEWERBE wird gewerbe
Nutzt die Funktion strtolower()
Wandelt alle Zeichen eines Strings in Großbuchstaben um.
Beispiel: Aus beispiel wird BEISPIEL
Nutzt die Funktion strtoupper()
Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben.
Beispiel: Aus beispiel wird Beispiel
Nutzt die Funktion ucfirst()
Ersetzt folgende Sonderzeichen innerhalb eines übertragenen Strings.
Original
Umwandlung
'
'
"
"
„
"
“
"
-
-
–
-
&#8230;

Trimmen (Textformatierung)

Entfernt Zwischenraumzeichen (oder andere Zeichen) am Anfang und Ende eines Strings.
Nutzt die Funktion trim()

Boolescher Wert (Formatierung)

Wandelt übertragene Werte in boolsche Werte um (0 und 1). Kann mithilfe von Vergleichswert auch zur Überprüfung von vorgegebenen Werten genutzt werden.

Experten-Einstellungen

🔹
Datei speichern
Hier kann angegeben werden, ob eine Datei bei einer Feldzuordnung gespeichert werden soll. Diese Option ist nötig, um übertragene Dateien für ein Objekt zu speichern.
Sollte sich im Immobilien-Import eine Datei mit dem angegebenen Wert befinden, wird diese Datei im Ordner der Immobilie gespeichert.