Ich schreibe eine Erweiterung, die es ermöglicht, Dateien im Frontend und Backend einer TYPO3-Instanz hochzuladen. Der Upload funktioniert in beiden Ansichten, aber wenn der Administrator einen Upload im Backend in der Listenansicht löschen möchte, wird die "physische" Datei, die sich auf der Festplatte des Webservers befindet, nicht gelöscht, sondern nur der sys_file_reference-Datensatz.Datei beim Löschen löschen sys_file_reference
Gibt es eine Möglichkeit, dem TCA mitzuteilen, dass im Falle eines Löschens des Upload-Datensatzes die zugehörige Datei ebenfalls gelöscht werden sollte? Ich habe auch versucht, einen Schlitz mit dem folgenden Code zu implementieren, aber es passiert nichts:
ext_localconf.php:
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher')->connect(
'TYPO3\CMS\Extbase\Persistence\Generic\Backend',
'afterRemoveObject',
'Kmi\feupload\Slots\MyAfterRemoveObjectSlot',
'myAfterRemoveObjectMethod'
);
Klassen/Slots/MyAfterRemoveObjectSlot.php:
namespace Kmi\feupload\Slots;
class MyAfterRemoveObjectSlot {
public function myAfterRemoveObjectMethod($object) {
// do something
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($object);
}
}
Hat jemand eine Idee, wie man das löst? Es wird viele Uploads sein, und wenn der Administrator ein löscht, die zugehörige Datei ebenfalls gelöscht werden soll ...
Vielen Dank im Voraus für Ihre Hilfe :)
https://forge.typo3.org/issues/52631 – Zeeshan
Also, bekomme ich Sie richtig, dass Sie die zugrunde liegende Datei löschen möchten, wenn eine Dateiverweis gelöscht wird? Und die Dateireferenz ist eine Beziehung von Ihrem "Upload" -Objekt? Bitte klären Sie, dann kann ich Ihnen helfen. Ihr SignalSlot funktioniert nicht, da das Back-End keine Extbase-Persistenz verwendet.Aber es gibt Lösungen, die Hooks in DataHandler verwenden. Bitte geben Sie auch die TYPO3-Version an, wenn es 6.2 oder 7 ist, fügen Sie bitte das entsprechende Tag hinzu. – lorenz
Ja, genau das möchte ich tun. Die Dateireferenz ist ein Attribut meines Upload-Objekts und die Klasse erweitert \ TYPO3 \ CMS \ Extbase \ Domain \ Model \ FileReference. Ich benutze TYPO3 6.2. Danke –