nicht löschen Ich habe folgendes Modell: "Shelf" und "Book", in 1: n-Beziehung.ExtBase: kann Kindobjekt in Scheduler Task
Es gibt auch einen Scheduler-Task (Erweiterung "Scheduler" 6.2.0), der Bücher analysiert und löscht. Scheduler-Task ist in zwei Klassen unterteilt: Task selbst und Geschäftslogik.
Aufgabe:
namespace Vendor\MyExt\Scheduler;
class MultiStepProcessTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
public function execute() {
$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
$businessLogic = $objectManager->get(\Vendor\MyExt\Scheduler\MultiStepProcessTaskBusinessLogic::class);
return $businessLogic->run();
}
}
Geschäftslogik:
namespace Vendor\MyExt\Scheduler;
class MultiStepProcessTaskBusinessLogic {
public function run() {
$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
$shelvesRepository = $objectManager->get('Vendor\\MyExt\\Domain\\Repository\\ShelvesRepository');
$shelf = $shelvesRepository->findOneByLastFinishedTaskNumber(0);
$book = $shelf->getBooks()->current();
....
$shelf->removeBook($book);
$shelvesRepository->update($shelf);
return 1;
}
}
Wenn von meiner Erweiterung genannt - alles in Ordnung: Das Buch wird gelöscht. es zu testen Ich habe diese Zeilen in der Liste Aktion von einem Controller:
$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
$businessLogic = $objectManager->get(\Vendor\MyExt\Scheduler\MultiStepProcessTaskBusinessLogic::class);
$businessLogic->run();
Wenn aus Scheduler (als Aufgabe) bezeichnet das Buch nicht gelöscht! Repository wird erstellt, Regal wird abgerufen, Buch wird abgerufen. Aber $shelf->removeBook($book);
hat überhaupt keine Wirkung. Könnte mir bitte jemand erklären warum?
Ich bin mit TYPO3 Version 6.2.19
Großartig! Das war's. Danke vielmals. – firelex