Skip to main content

Additional fields

You can of course also use custom fields.

Simply create a file named data.mapping.php in the folder files/maklermodul.

Below you see an example excerpt from the XML and examples you can add to data.mapping.php to illustrate the mapping.

The file must always end with return $userMapping;! The changes only take effect after the properties have been imported again!

Excerpt from the XML:

<objektkategorie>
    <nutzungsart WOHNEN="false" GEWERBE="true"/>
    <vermarktungsart KAUF="false" MIETE_PACHT="true"/>
    <objektart>
        <buero_praxen buero_typ="PRAXISFLAECHE"/>
    </objektart>
</objektkategorie>

Example: Map all offices/practices to commercial properties

Add the following to data.mapping.php to map all offices/practices, regardless of their office type, to commercial properties (“Gewerbeimmobilien”).

<?php

$userMapping["objektkategorie/objektart/buero_praxen/@buero_typ"] = array('objektkategorie.objektart', 'Gewerbeimmobilien');

return $userMapping;

Example: Use the value of the office type

If the value of buero_typ (PRAXISFLAECHE in the example) should be passed on, add the following to data.mapping.php.

<?php

$userMapping["objektkategorie/objektart/buero_praxen/@buero_typ"] = 'objektkategorie.objektart.buero_praxen';

return $userMapping;

Example: Map a specific office type to a custom value

If the German term Praxisfläche should be passed instead of PRAXISFLAECHE, add the following to data.mapping.php.

<?php

$userMapping["objektkategorie/objektart/buero_praxen[@buero_typ='PRAXISFLAECHE']"] = array('objektkategorie.objektart.buero_praxen','Praxisfläche');

return $userMapping;

Example: Map the property category with all property types:

<?php

$userMapping["objektkategorie/objektart/zimmer"] = array('objektkategorie.objektart', 'Zimmer');
$userMapping["objektkategorie/objektart/wohnung"] = array('objektkategorie.objektart', 'Wohnung');
$userMapping["objektkategorie/objektart/haus"] = array('objektkategorie.objektart', 'Haus');
$userMapping["objektkategorie/objektart/grundstueck"] = array('objektkategorie.objektart', 'Grundstück');
$userMapping["objektkategorie/objektart/buero_praxen"] = array('objektkategorie.objektart', 'Gewerbeimmobilien');
$userMapping["objektkategorie/objektart/einzelhandel"] = array('objektkategorie.objektart', 'Gewerbeimmobilien');
$userMapping["objektkategorie/objektart/gastgewerbe"] = array('objektkategorie.objektart', 'Gastgewerbe');
$userMapping["objektkategorie/objektart/hallen_lager_prod"] = array('objektkategorie.objektart', 'Gewerbeimmobilien');
$userMapping["objektkategorie/objektart/land_und_forstwirtschaft"] = array('objektkategorie.objektart', 'Land- & Forstwirtschaft');
$userMapping["objektkategorie/objektart/parken"] = array('objektkategorie.objektart', 'Parken');
$userMapping["objektkategorie/objektart/sonstige"] = array('objektkategorie.objektart', 'Sonstige');
$userMapping["objektkategorie/objektart/freizeitimmobilie_gewerblich"] = array('objektkategorie.objektart', 'Freizeitimmobilie, Gewerblich');
$userMapping["objektkategorie/objektart/zinshaus_renditeobjekt"] = array('objektkategorie.objektart', 'Zinshaus, Renditeobjekt');

return $userMapping;

When you import the existing properties again, a filter objektkategorie.objektart is available.

Example: Map a custom field

<?php
$userMapping["geo/user_defined_simplefield[@feldname='Straße freigeben']"] = 'strasse_freigeben';
return $userMapping;

In the list view module you then simply enter strasse_freigeben.

Example: Rename the marketing type

$userMapping["objektkategorie/vermarktungsart/@KAUF[.='true']"] = ['objektkategorie.vermarktungsart', 'Kauf'];
$userMapping["objektkategorie/vermarktungsart/@MIETE_PACHT[.='true']"] = ['objektkategorie.vermarktungsart', 'Miete'];

or

$userMapping["objektkategorie/vermarktungsart/@KAUF[.='1']"] = ['objektkategorie.vermarktungsart', 'Kauf'];
$userMapping["objektkategorie/vermarktungsart/@MIETE_PACHT[.='1']"] = ['objektkategorie.vermarktungsart', 'Miete'];

In the list view module you then simply enter objektkategorie.vermarktungsart.

Search & replace

Since version 2.5.0 of the Maklermodul Sync Bundle you can replace letters and characters. For example, add the following to data.mapping.php to remove brackets, slashes and spaces from the property number.

<?php

$userMapping['verwaltung_techn/objektnr_extern'] = ['sortierung', ['search' => '(,), ,/', 'replace' => ',,,']];

return $userMapping;

Before: 21 (1/16)
After: 21116

When you import the existing properties again, a filter sortierung is available.

If the original field should not be imported, add the option 'excludeOriginal' => true, for example as follows:

<?php

$userMapping['verwaltung_techn/objektnr_extern'] = ['sortierung', ['search' => '(,), ,/', 'replace' => ',,,', 'excludeOriginal' => true]];

return $userMapping;