Filter: immonex_notify_matching_options

Definition/Anpassung

Zuordnungen für den Abgleich von Suchkriterien und OpenImmo-XML-Objektdaten

Parameter

Name (Typ)
$matching_options (array)

Original-Array $matching_options

$matching_options = [
    'property_type'  => [
        'type'    => 'select',
        'options' => [
            'room'         => [
                'oi_xpath' => '//objektkategorie/objektart/zimmer',
            ],
            'flat'         => [
                'oi_xpath' => '//objektkategorie/objektart/wohnung',
            ],
            'house'        => [
                'oi_xpath' => '//objektkategorie/objektart/haus',
            ],
            'house_single' => [
                'oi_xpath' => '//objektkategorie/objektart/haus[@haustyp="EINFAMILIENHAUS"]',
            ],
            'house_multi'  => [
                'oi_xpath' => '//objektkategorie/objektart/haus[@haustyp="MEHRFAMILIENHAUS" or @haustyp="ZWEIFAMILIENHAUS"]',
            ],
            'house_row'    => [
                'oi_xpath' => [
                    '//objektkategorie/objektart/haus[starts-with(@haustyp, "REIHEN")]',
                    '//objektkategorie/objektart/haus[@haustyp="DOPPELHAUSHAELFTE"]',
                ],
            ],
            'lot'          => [
                'oi_xpath' => '//objektkategorie/objektart/grundstueck',
            ],
            'office'       => [
                'oi_xpath' => '//objektkategorie/objektart/buero_praxen',
            ],
            'retail'       => [
                'oi_xpath' => '//objektkategorie/objektart/einzelhandel',
            ],
            'storage_prod' => [
                'oi_xpath' => '//objektkategorie/objektart/hallen_lager_prod',
            ],
            'gastro_hotel' => [
                'oi_xpath' => '//objektkategorie/objektart/gastgewerbe',
            ],
            'investment'   => [
                'oi_xpath' => '//objektkategorie/objektart/zinshaus_renditeobjekt',
            ],
        ],
    ],
    'marketing_type' => [
        'type'    => 'select',
        'options' => [
            'sale'       => [
                'oi_xpath' => '//vermarktungsart[@KAUF="true" or @KAUF=1]',
            ],
            'rent_lease' => [
                'oi_xpath' => [
                    '//vermarktungsart[@MIETE="true" or @MIETE=1 or @MIETE_PACHT="true" or @MIETE_PACHT=1]',
                    '//vermarktungsart[@LEASING="true" or @LEASING=1 or @ERBPACHT="true" or @ERBPACHT=1]',
                ],
            ],
        ],
    ],
    'location'       => [
        'type' => 'location',
    ],
    'area'           => [
        'type'     => 'min_max',
        'oi_xpath' => [
            'default'      => [
                '//flaechen/gesamtflaeche',
                '//flaechen/wohnflaeche',
            ],
            'lot'          => [
                '//flaechen/freiflaeche',
                '//flaechen/gesamtflaeche',
                '//flaechen/grundstuecksflaeche',
            ],
            'office'       => [
                '//flaechen/nutzflaeche',
                '//flaechen/verwaltungsflaeche',
                '//flaechen/bueroteilflaeche',
                '//flaechen/gesamtflaeche',
                '//flaechen/bueroflaeche',
            ],
            'retail'       => [
                '//flaechen/nutzflaeche',
                '//flaechen/gesamtflaeche',
                '//flaechen/ladenflaeche',
                '//flaechen/verkaufsflaeche',
            ],
            'storage_prod' => [
                '//flaechen/lagerflaeche',
                '//flaechen/nutzflaeche',
                '//flaechen/gesamtflaeche',
            ],
            'gastro_hotel' => [
                '//flaechen/nutzflaeche',
                '//flaechen/gesamtflaeche',
                '//flaechen/gastroflaeche',
            ],
            'investment'   => [
                '//flaechen/freiflaeche',
                '//flaechen/grundstuecksflaeche',
                '//flaechen/nutzflaeche',
                '//flaechen/verwaltungsflaeche',
                '//flaechen/lagerflaeche',
                '//flaechen/bueroteilflaeche',
                '//flaechen/gastroflaeche',
                '//flaechen/ladenflaeche',
                '//flaechen/verkaufsflaeche',
                '//flaechen/bueroflaeche',
                '//flaechen/gesamtflaeche',
                '//flaechen/wohnflaeche',
            ],
        ],
    ],
    'rooms'          => [
        'type'     => 'min_max',
        'oi_xpath' => [
            'default' => [
                '//flaechen/anzahl_tagungsraeume',
                '//flaechen/anzahl_schlafzimmer',
                '//flaechen/anzahl_wohn_schlafzimmer',
                '//flaechen/anzahl_zimmer',
            ],
        ],
    ],
    'price'          => [
        'type'     => 'min_max',
        'oi_xpath' => [
            'default'    => [
                '//preise/pacht',
                '//preise/erbpacht',
                '//preise/nettokaltmiete',
                '//preise/kaltmiete',
                '//preise/warmmiete',
                '//preise/pauschalmiete',
                '//preise/gesamtmietebrutto',
                '//preise/kaufpreis',
                '//preise/kaufpreisbrutto',
                '//preise/gesamtbelastungbrutto',
            ],
            'rent_lease' => [
                '//preise/pacht',
                '//preise/erbpacht',
                '//preise/nettokaltmiete',
                '//preise/kaltmiete',
                '//preise/warmmiete',
                '//preise/pauschalmiete',
                '//preise/gesamtmietebrutto',
            ],
            'sale'       => [
                '//preise/kaufpreis',
                '//preise/kaufpreisbrutto',
                '//preise/gesamtbelastungbrutto',
            ],
        ],
    ],
];

Rückgabewert

Array mit angepassten Zuordnungen

Code-Beispiel

/**
 * [immonex Notify] Filter: XML-Zuordnungen für die Ermittlung passender
 * Immobilienangebote für Suchaufträge anpassen.
 */
add_filter( 'immonex_notify_matching_options', 'mysite_modify_search_request_matching_options' );
function mysite_modify_search_request_matching_options( $matching_options ) {
    // ... Zuordnungen anpassen ...
    return $matching_options;
} // mysite_modify_search_request_matching_options

Siehe auch