Loading...
Skip navigation
Please note that this documentation is for the most recent version of this extension. It may not be relevant for older versions. Related documentation can be found in the documentation directory of the extension.

OpenImmo Migration

Version 8.4.0

In this version we've integrated an optionally loading by using AJAX of the property list. In order to use this new feature, you might need to update the Layout/Default.html and Templates/Immobilie/Search.html.

Version 8.3.0

In this version the importer-folder was moved from uploads/tx_openimmo/… to fileadmin/user_upload/tx_openimmo/….

  • Please delete the old uploads/tx_openimmo/… folder
  • Adjust the FTP root-folder in your FTP-Settings
  • It's recommended to perform a complete re-sync of all properties. Alternatively, you can try the vendor/bin/typo3 openimmo:migratestorage console command to migrate all files from the old to the new storage (available since version 8.5.1 of EXT:openimmo).

Version 8.1.0

In this version the whole JavaScript has been refactored and jQuery has been removed completely. This means we might need some migrations on our overridden templates or custom JavaScript.

General Google-Maps usage

If you are using Google-Maps, you need to add the marker library in the TypoScript-Constants:

themes.configuration.javascript.google.maps.libraries = places,marker

If you have overidden the path for the Google-Maps cluster icons, you need to adjust your icon path TypoScript constant:

imagePath = EXT:openimmo_pro/Resources/Public/Images/MapClustering/

Scroll to behaviour

The openImmo.scrollTo() method has been replaced by a new introduced helper object Scroll.js.

  1. If you have overridden the Fluid-Partial Partials/Immobilie/Buttons/Location.html, you need to replace the onclick="openImmo.scrollTo('#openimmo-detail-map'); into data-scroll-to="#openimmo-detail-map" data-scroll-to-offset="{site.javascript.scroll.offset}".
  2. If you have some custom JavaScript, where you're using the openImmo.scrollTo() method, you need to replace it by Scroll.to().
  3. If you have used the openImmo.scrollToOffset; setting, for using a custom defined scoll offset, you need to move this definition into a TypoScript-Constant like themes.configuration.javascript.scroll.offset = 120

Search request

If you have the search request feature in use, and you've overridden the Fluid-Templates SearchRequest/Create.html or SearchRequest/Edit.html, you need to add the data-map-api-key="{site.javascript.maps.apiKey}" in the map wrapper, like:

<div class="form-group"
     id="openimmo-search-request-map"
     data-map-api-key="{site.javascript.maps.apiKey}"
     data-map-latitude="{settings.googleMaps.defaultGeoCoordinates.latitude}"
     data-map-longitude="{settings.googleMaps.defaultGeoCoordinates.longitude}">
    …
</div>

Search offer

If you have the search offer feature in use, and you've overridden the Fluid-Templates SearchOffers/List.html, you need to add the data-map-api-key="{site.javascript.maps.apiKey}" in the map wrapper, like:

<div class="mb-0"
     id="openimmo-search-request-map"
     data-map-api-key="{site.javascript.maps.apiKey}"
     data-map-latitude="{settings.googleMaps.defaultGeoCoordinates.latitude}"
     data-map-longitude="{settings.googleMaps.defaultGeoCoordinates.longitude}">
    <!-- Google map -->
</div>

Search list

If you've overridden the Fluid-Template Immobilie/Search.html, you need to add the data-scroll-to-offset="{site.javascript.scroll.offset}" into the <div class="row openimmo-search-list-items">.

Map overview

If you have the Google-Maps in list view in use, and you've overridden the Fluid-Partial Immobilie/Search/Item.html, you need to replace the onclick="openImmo.googleMaps.selectImmobilieMarker('#immobilie-list-item-{immobilie.uid}');return false" with data-immobilie="#immobilie-list-item-{immobilie.uid}". This is necessary for binding the click event within the tooltop of a maps marker.

Bookmarks list

If you have the bookmarks list in use, and you've overridden the Fluid-Template Bookmarks/Bookmarks.html, you need to replace the onclick="openImmo.bookmarks.clear();return false" by id="openimmo-bookmarks-clear-button".

Pagination

If you have the pagination in list in use, and you'#'ve overridden the Fluid-Partial Immobilie/Search/Pagination.html, you need to replace the following parts:

  1. Search for onclick="jQuery('#pagination-page').val('{settings.paginationPagePrevious}');jQuery('input[name=\'tx_openimmo_immobilie[search]\']', jQuery('#openimmo-search-form')).val('paginate');jQuery('#openimmo-search-form').submit();return false" and reploace with id="openimmo-pagination-previous-button" data-pagination-page="{settings.paginationPagePrevious}"
  2. Search for onclick="jQuery('#pagination-page').val('{paginatonLink}');jQuery('input[name=\'tx_openimmo_immobilie[search]\']', jQuery('#openimmo-search-form')).val('paginate');jQuery('#openimmo-search-form').submit();return false" and reploace with class="openimmo-pagination-page-button" data-pagination-page="{paginatonLink}"
  3. Search for onclick="jQuery('#pagination-page').val('{settings.paginationPageNext}');jQuery('input[name=\'tx_openimmo_immobilie[search]\']', jQuery('#openimmo-search-form')).val('paginate');jQuery('#openimmo-search-form').submit();return false" and reploace with id="openimmo-pagination-next-button" data-pagination-page="{settings.paginationPageNext}"

Version 8.0.1

Extension loaded ViewHelper refactored

The oi.extension.loadadViewHelper has been refactored. The parameters then and else must be removed.

Before: {oi:extension.loaded(extensionName: 'OpenimmoPro', then: '1', else: '0')}

After: {oi:extension.loaded(extensionName: 'OpenimmoPro')}

Import Scheduler Command Parameter

Since this version, a backend user UID must be specified in the scheduler task for the import, otherwise the scheduler will not have access to the file storage associated with the connection. You can use for example the UID of the _cli_ user.

Version 8.0.0

Signal/Slots have been removed

The signals/slots have been completely removed from TYPO3 and thus also from the extension. If they are used, they must be migrated to PSR-14 events.

Version 6.0.1

Google-Maps configuration

The Google-Maps configuration for fetching geo coordinates and the regional addon was moved into the Connection. This means you need to move all TypoScript settings from …googelMaps.fetchGeoCoordinates… and …googelMaps.fetchRegionalerZusatz… into the Connection records.

Version 6.0.0

Construction year and heating YOC

  • We have moved the construction year (zustandAngaben_baujahr) into the 'general' section
  • We have inserted the construction year of the heating (zustandAngaben_energiepass_baujahr) into the 'energiepass' section

Version 5.0.2

Constant "privacy"

A constant

themes.configuration.pages.openimmo.privacy

has been addedIn the template

Resources/Private/Extensions/Openimmo/Partials/Immobilie/Request.html

the link has to be added:

<f:case value="privacy">
   ...
                <f:format.raw><f:translate key="tx_openimmo_label.request_field_{field}" arguments="{0:'{f:uri.page(pageUid: \'{settings.privacyPid}\')}'}"/></f:format.raw>
   ...
</f:case>

Furthermore the language label have to be adjusted:

            <trans-unit id="tx_openimmo_label.request_field_privacy" approved="yes">
                <source><![CDATA[I have read the <a href="%1$s" target="_blank" title="Show privacy policy">privacy policy</a> and accept it.]]></source>
                <target><![CDATA[Ich habe die <a href="%1$s" target="_blank" title="Zeige Datenschutzbestimmungen">Datenschutzbestimmungen</a> gelesen und akzeptieren diese.]]></target>
            </trans-unit>

Version 5.0.0

Auf Grund eines Fehlers mit Controller-Context im Bookmarks-Plugin, muss sichergestellt werden das die f:translate in den verwendeten Fluid-Templates den Extension-Name angegeben haben. D.h. Du musst in den Partials der Buttons (Resources/Private/Partials/Immobilie/Buttons/*), so fern Du diese überschrieben hast, den Parameter extensionName="Openimmo" hinzufügst.

Version 4.12.0

We've added a new search filter for Warmmiete. If you've overridden the FormLeft.html or FormTop.html template, you've to modify them in order to use that new filter. Additionally you need to perform a full synchronization (VOLL-Abgleich) after updating and migrating to this version.

Version 4.10.0

We've fixed a typo in austattung-checkboxesCSS class - now it have the correct name ausstattung-checkboxes.

We've added the object address (street/housenumber). Attention: This address is only display if the field verwaltungObjekt_objektadresseFreigeben is not available, is empty or contains one of the following values: ja, Ja, true, 1

Version 4.9.0

We've add some new filter for property Land. Therefore there is a new field Land in the main record. This requires that you need to perform a full import of your properties.

Furthermore we have fixed some structured issues for the Bootstrap4 usage in the search templates. This means that there might be some design deviations in the FormLeft.html, FormTop.html as well as the range filter templates.

Version 4.8.0

We have fixed some translation identifiers. If you've overridden one of the following translations, you have to change the translation identifier:

OLD                                            -> NEW
tx_openimmo_label.search_offers_contact_policy -> tx_openimmo_label.search_offers_contact_privacy
tx_openimmo_label.request_field_policy         -> tx_openimmo_label.request_field_privacy
tx_openimmo_label.request_field_policy_yes     -> tx_openimmo_label.request_field_privacy_yes
tx_openimmo_label.request_field_policy_no      -> tx_openimmo_label.request_field_privacy_no

Version 4.6.0

With the introduction of the backend module for managing properties, it's required to move the connection record into the container where the connection stored his records. Please move the connection records into the respective container. Every container with property records must have exactly on connection record.

Version 4.5.0

Connections now have a record type, which is for defining the connection target. Since now we have only an Openimmo connection, but there will be additional an Immoscout and Local connection. Therefor you need to set the record type of each connection after updating to this version.

Version 4.1.2

Contains a TypoScript constant for a second Google Maps API key (themes.configuration.extension.openimmo.googleMaps.fetchGeoCoordinates.apiKey). This must contain an API key for Google API server-side requests. This API key is restricted by IP address, unlike the existing one which is restricted by HTTP referrer (themes.configuration.extension.openimmo.googleMaps.apiKey).

Version 4.0.0

Warning:

PHP 7.1 or higher required!

Migration steps

  • openimmo/Resources/Private/Partials/Immobilie/VerwaltungTechn/StandVom.html Partial now gets a real DateTime object, so you need to use a {value->f:format.date(format: 'd.m.Y')} for displaying the value.
  • openimmo_pro/Resources/Private/Partials/Pdf/VerwaltungTechn/StandVom.html Partial now gets a real DateTime object, so you need to use a {value->f:format.date(format: 'd.m.Y')} for displaying the value.
  • openimmo_pro/Resources/Private/Partials/Pdf/Objektkategorie/ Partials needs to be refactored and can be simplified.
  • openimmo/Resources/Private/Partials/Immobilie/Objektkategorie/ Partials can be simplified.

Version 2.2.0

In order to get a full multi language environment, we have moved some labels from TypoScript-Definition into translation files. Therefore you have to modify the following files:

  • Resources/Private/Partials/Immobilie/Details/Fieldset/ContactPerson.html
  • Resources/Private/Partials/Immobilie/Details/Fieldset/Description.html
  • Resources/Private/Partials/Immobilie/Details/Fieldset/EnergiePass.html
  • Resources/Private/Partials/Immobilie/Details/Fieldset/General.html
  • Resources/Private/Partials/Immobilie/Details/Fieldset/Prices.html

Place the following lines immediately into <f:for each="{fieldset.fields}" as="field" key="fieldKey"> loop:

<oi:variable.set name="tempLanguageKey" value="tx_openimmo_label.immobilie_{fieldKey}" />
<oi:variable.set name="tempLanguageValue" value="{f:translate(key: tempLanguageKey)}:" />

Additionally the f:render arguments must be modified from {immobilie: immobilie, label: field.label} into {immobilie: immobilie, label: tempLanguageValue}.

The headlines of this lists needs to be modified as well. Just replace the <h3>{fieldset.label}</h3> with the respective translation:

  • <h3>{f:translate(key: 'tx_openimmo_label.immobilie_kontaktperson')}</h3>
  • <h3>{f:translate(key: 'tx_openimmo_label.immobilie_zustandAngaben_energiepass')}</h3>
  • <h3>{f:translate(key: 'tx_openimmo_label.details')}</h3>
  • <h3>{f:translate(key: 'tx_openimmo_label.immobilie_preise')}</h3>

Version 2.1.0

Warning:

Because of invalid data handling of the Importer, it's recommended to perform a full synchronization (VOLL-Abgleich) after updating and migrating to this version!

Migration steps

  • If you're using the Partials/Immobilie/Search/GoogleMaps.htmlFluid partial and TYPO3 8.7, you need to wrap the oi:googleMaps.listViewHelper in a f:format.raw-ViewHelper.

    From:

    <oi:googleMaps.list immobilies="{immobilies}" settings="{settings}" />

    To:

    <f:format.raw><oi:googleMaps.list immobilies="{immobilies}" settings="{settings}" /></f:format.raw>
  • OpenImmo has an english translation so we have modified some Fluid-Templates and TypoScript. In detail, the label from TypoScript fieldset definitions were removed. Instead of these labels, the Fluid-Partials try to load translation key with equal names to the TypoScript definition nodes. In addition the default language is now english, so that you might have german set as your default language.

  • We have moved the JavaScript into the footer. Therefore you might have to modify some JavaScript configurations

Version 2.0.0

Contact request

You can contact us at any time

Stop! Playing in the meantime?
Stop! Playing in the meantime?
Stop! Playing in the meantime?

Stop! Playing in the meantime?

Break the highscore

Press Start
Contact request
Screenreader label
Security question
IGE_________K________
__I____8____5_5___TAF
8JY___1PL___3MW______
J______U______O___3KW
7AG___________A______