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
.
- If you have overridden the Fluid-Partial
Partials/Immobilie/Buttons/Location.html
, you need to replace theonclick="openImmo.scrollTo('#openimmo-detail-map');
intodata-scroll-to="#openimmo-detail-map" data-scroll-to-offset="{site.javascript.scroll.offset}"
. - If you have some custom JavaScript, where you're using the
openImmo.scrollTo()
method, you need to replace it byScroll.to()
. - 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 likethemes.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:
- 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 withid="openimmo-pagination-previous-button" data-pagination-page="{settings.paginationPagePrevious}"
- 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 withclass="openimmo-pagination-page-button" data-pagination-page="{paginatonLink}"
- 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 withid="openimmo-pagination-next-button" data-pagination-page="{settings.paginationPageNext}"
Version 8.0.1
Extension loaded ViewHelper refactored
The oi.extension.loadad
ViewHelper 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-checkboxes
CSS 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.html
Fluid partial and TYPO3 8.7, you need to wrap theoi:googleMaps.list
ViewHelper in af: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