Loading...
Navigation überspringen
Bitte beachte, dass sich diese Dokumentation auf die neuste Version dieser Erweiterung bezieht. Wenn eine ältere Version eingesetzt wird, kann diese abweichen. Die jeweils passende Dokumentation befindet sich im Dokumentation-Verzeichnis der Erweiterung.

Immobilien nach dem Import manipulieren

Um Immobilien nach dem Import bzw. nach dem Erstellen manipulieren zu können, bietet die Openimmo-Erweiterung einen Signal/Slot bzw. ein Event an. Dieser wird immer ausgeführt, wenn bspw. der ImportCommand eine Immobilie erstellt bzw. ändert.

Um diese Funktion nutzen zu können, musst Du Deinen eigenen Slot bzw. Event Listener in einer Erweiterung registrieren.

via Event Listener

Ab Version 6.0.9 steht hierfür ein PSR-14 event zur Verfügung. Ein Beispiel findest Du in Classes/EventListener/AfterCreationExample.php, die Registrierung des Event Listeners wird in Configuration/Services.yaml durchgeführt.

via Signal/Slot

Einen Slot erstellen

Als erstes musst Du den Slot erstellen. Dieser könnte in einer Datei mit dem folgenden Namen erstellt werden EXT:your_extension/Classes/Slot/ImmobilieSlot.php. In dieser Datei definierst Du eine Methode die dann entsprechend ausgeführt wird:

<?php

namespace YourVendor\YourExtension\Slot;

/**
 * Signal/Slot for immobilie objects
 *
 * This is just an example slot.
 *
 * @package openimmo
 *
 * @author Thomas Deuling <typo3(at)coding(dot)ms>
 */
class ImmobilieSlot
{

    /**
     * Executed after immobilie creation
     *
     * @param int $immobilieUid
     * @param int $immobilieUid
     * @throws \TYPO3\CMS\Extbase\Persistence\Exception\IllegalObjectTypeException
     * @throws \TYPO3\CMS\Extbase\Persistence\Exception\UnknownObjectException
     */
    public function afterCreation(int $immobilieUid): void
    {
        // ...
    }

}

Eine Beispieldatei finden in unserer Erweiterung unter EXT:openimmo/Classes/Slot/ImmobilieSlot.php.

Einen Slot registrieren

Damit das TYPO3 nun Deinen neuen Slot kennt, musst Du diesen registrieren. Dies geschieht ebenfalls in Deiner Erweiterung in der Datei EXT:your_extension/ext_localconf.php. In dieser Datei benötigst Du dann den folgenden Code:

//
// Example Slot for manipulating immobilie after creation/modification
/** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */
$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);
$signalSlotDispatcher->connect(
    \CodingMs\Openimmo\Command\ImportCommandController::class, 'afterCreation',
    \YourVendor\YourExtension\Slot\ImmobilieSlot::class, 'afterCreation'
);

Nach dem Hinzufügen musst Du nur noch den System-Cache leeren, danach sollte diese Methode bei jeder Erstellung oder Anpassung von Immobilien über den Importer ausgeführt werden, sodass Du in der Lage bist, diese zu manipulieren.

Dokumentation
TYPO3 OpenImmo Erweiterung

TYPO3 OpenImmo

TYPO3 OpenImmo ist eine Immobilien Erweiterung, welche Deine Objekte via OpenImmo-Schnittstelle einliest und auf Deiner Webseite darstellt.

Menü

Kontaktanfrage

Du kannst uns jederzeit kontaktieren

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
_R__________XIC______
GD_____1____E_____MAA
_I____8CC___1Q4______
_Z_____Y____T_I___HH2
YP3_________36L______