Verkaufte Objekte nicht importieren

Objekte werden im Rahmen der Importverarbeitung dann gelöscht, wenn sie explizit als „zu löschen“ übertragen werden oder in den Daten eines Vollabgleichs nicht mehr enthalten sind.

Ein regulär zu importierendes Objekt mit dem Label bzw. Flag „verkauft“ wird also standardmäßig normal gespeichert und aktualisiert, da solche Immobilien meistens als Referenzobjekte weiterhin in der Website enthalten sein sollen.

Sollen Objekte aus der Website gelöscht werden, müssen diese auch in der Maklersoftware gelöscht bzw. mit dem passenden Status versehen werden (archiviert o. Ä.).

Alternativ (aber nicht empfohlen) kann die Löschung der Immobilien mit dem Verkauft-Flag auch beim Import erfolgen. Dafür folgende Filterfunktion:

/**
 * [immonex OpenImmo2WP] Aktionsart zu importierender Objekte mit dem Label/Flag "verkauft"
 * generell in "zu löschen" (DELETE) konvertieren.
 */
function mysite_convert_properties_to_delete( $immobilie ) {
  if (
    'DELETE' !== (string) $immobilie->verwaltung_techn->aktion['aktionart']
    || (
      'VERKAUFT' === (string) $immobilie->zustand_angaben->verkaufstatus['stand']
      || (
        ! empty( $immobilie->xpath( '//verwaltung_objekt/user_defined_simplefield[@feldname="verkauft"]' ) ) &&
        in_array(
          strtolower( (string) $immobilie->xpath( '//verwaltung_objekt/user_defined_simplefield[@feldname="verkauft"]' )[0] ), // onOffice style
          [ '1', 'true' ],
          true
        )
      )
    )
  ) {
    $immobilie->verwaltung_techn->aktion['aktionart'] = 'DELETE';
  }
 
  return $immobilie;
}
add_filter( 'immonex_oi2wp_property_xml_before_import', 'mysite_delete_sold_properties' );

Am Beispiel eines onOffice-Exports.