Extbase - Signal Slots: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 2: Zeile 2:
 
http://blog.foertel.com/2011/10/using-signalslots-in-extbase/
 
http://blog.foertel.com/2011/10/using-signalslots-in-extbase/
 
== Typo3 Backend Signals ==
 
== Typo3 Backend Signals ==
in Backend.php
+
in typo3/sysext/extbase/Classes/Persistance/Generic/Backend.php
 
<pre>
 
<pre>
 
afterRemoveObject
 
afterRemoveObject
Zeile 22: Zeile 22:
 
     'TYPO3\CMS\Extbase\Persistence\Generic\Backend',
 
     'TYPO3\CMS\Extbase\Persistence\Generic\Backend',
 
     'afterRemoveObject',
 
     'afterRemoveObject',
     'Vendor\MxExtension\Slots\MyAfterRemoveObjectSlot',
+
     'Vendor\MxExtension\Classes\Slots\MyAfterRemoveObjectSlot',
 
     'myAfterRemoveObjectMethod'
 
     'myAfterRemoveObjectMethod'
 
);
 
);
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Slot
+
im Slotpfad (siehe oben .../myext/Classes/Slots/
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
 
namespace Vendor\MxExtension\Slots;
 
namespace Vendor\MxExtension\Slots;

Version vom 18. Juni 2015, 14:23 Uhr

Links

http://blog.foertel.com/2011/10/using-signalslots-in-extbase/

Typo3 Backend Signals

in typo3/sysext/extbase/Classes/Persistance/Generic/Backend.php

afterRemoveObject
afterUpdateObject
beforeGettingObjectData
afterGettingObjectData
afterInsertObject

Beispiel Signal Slot beim löschen eines Datensatzes ausführen

localconf.php

$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
    'TYPO3\CMS\Extbase\Object\ObjectManager'
)->get(
    'TYPO3\CMS\Extbase\SignalSlot\Dispatcher'
);
$signalSlotDispatcher->connect(
    'TYPO3\CMS\Extbase\Persistence\Generic\Backend',
    'afterRemoveObject',
    'Vendor\MxExtension\Classes\Slots\MyAfterRemoveObjectSlot',
    'myAfterRemoveObjectMethod'
);

im Slotpfad (siehe oben .../myext/Classes/Slots/

namespace Vendor\MxExtension\Slots;
class MyAfterRemoveObjectSlot {
    public function myAfterRemoveObjectMethod($object) {
         // do something
    }
}