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.
Export
You can use the export feature to export data of the properties as XML - with this feature you can offer your own API/Interface.
This is a feature of the PRO version of openimmo.
Configuring the export
Please follow these steps:
- In the backend go to the sysfolder where your "connection" is stored and create a record of the type "export".
- Set an "access key" of your choice (eg. "export-123").
- Select the "connection" record of which you want to export the properties.
- Optionally you can select one or more frontend users to filter the export.
- Create a new page and place the plugin "Openimmo - Export" on it. This plugin does not appear in the "content element wizard", please select a standard "Insert plugin" and select the "Openimmo - Export" plugin afterwards in the tab "Plugin".
You may create different "export" records and use them via the "access key" (see below).
Starting the export
You can now export properties in the frontend. Open the newly created page with these parameters:
https://www.mysite.de/export?tx_openimmopro_export[accessKey]=export-123
In order to directly download the data as a file, use the "export" parameter:
https://www.mysite.de/export?tx_openimmopro_export[accessKey]=export-123&tx_openimmopro_export[download]=1
Warning:
If you get an error like
The page did not exist or was inaccessible. Reason: Request parameters could not be validated (&cHash empty)
- try to exclude theaccess_key
parameter from cHash calculation.
Exclude a parameter from cHash calculation:
Excluding the access_key
parameter of the OpenImmo export Plugin works like this (LocalConfigration):
'FE' => [
'cacheHash' => [
'enforceValidation' => true,
'excludedParameters' => [
'tx_openimmopro_export[accessKey]',
],
],
Manipulate export data
It may happen that you need to manipulate or extend the export data during the generation. For that need the export feature is shipped with a signal/slot and a PSR-14 event.
via Signal/Slot
Example for ext_localconf.php
:
/** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */
$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);
$signalSlotDispatcher->connect(
\CodingMs\OpenimmoPro\Controller\ExportController::class, 'manipulateXml',
\CodingMs\OpenimmoPro\Slot\ImmobilieExportSlot::class, 'manipulateXml'
);
A complete example for a slot is located here openimmo_pro/Classes/Slot/ImmobilieExportSlot.php
.
via Event Listener
(needs at least Openimmo Pro 4.1.1)
You can find an example in the file openimmo_pro/Classes/EventListener/ManipulateXmlExample.php
, the event listener needs to be registered as shown in the file openimmo_pro/Configuration/Services.yaml
.