Hallo zusammen,
ich habe gerade meine erste Extension fertiggestellt und es hat auch alles gut funktioniert. Nun gibt es jedoch ein schwerwiegendes Problem und ich bin am verzweifeln. Kurz zum Vorgehen. Ich habe ein Model TourDate, in dem Toudaten enthalten sind. Eine switchable Action liefert mir alle zukünftigen Fahrten und ignoriert z.B. bereits ausgebuchte Fahrten.
$tourDates = $this->tourDateRepository->findUpcoming()
Die Objekte werden erfolgreich geholt und ich durchlaufe diese in einer foreach-Schleife, um evtl. Touren herauszufiltern.
Es funktioniert alles, aber nach manchmal 5, manchmal 3 oder 7 Stunden erscheint folgender Fehler:
Fatal error: Call to a member function getTimestamp() on a non-object
Alle Properties, außer die uid haben den Wert NULL.
Vielleicht kann jemand helfen, kennt das Problem? Ein Löschen des gesamten Caches behebt das Problem und die Action wird erfolgreich durchgeführt.
Die Controller-Action läuft ungecashed und es gibt auch ein Verwaltungs-Interface, wo auf die DB-Tabellen zugegriffen wird. Ich bin am überlegen, ob es gleichzeitige Zugriffe gibt und es irgendwann crashed, denn wenn man den Cache löscht, geht alles wieder, aber das kann nicht des Rätsels Lösung sein.
Ich brauche wirklich dringend Hilfe und hoffe, einer kann helfen!
Gruß
Robert
Lustigerweise habe ich gerade das selbe Problem in einer 6.2.12er Installation. Genau dieses Problem kommt und geht. Hast du das bei dir irgendwie lösen können? Hast du evtl. Flux / Fluidcontent in deiner Installation. Die habe ich etwas in verdacht, da Sie etwas mit dem TYPO3 Caching Framework tun.
Es lag an einer falschen Initialisierung in einem AJAX-Aufruf, wodurch der Cache corrupt wurde.
Antwort ist hier ganz unten:
https://forum.typo3.org/index.php/t/202033/
Viele Grüße!
Danke! Das habe ich jetzt auch mal getestet und aus:
$GLOBALS['TSFE'] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('tslib_fe', $TYPO3_CONF_VARS, 0, 0, TRUE);
$GLOBALS['TSFE']->sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('t3lib_pageSelect');
$GLOBALS['TSFE']->initFEuser();
folgendes gemacht:
$GLOBALS['TSFE'] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController', $TYPO3_CONF_VARS, 0, 0);
$GLOBALS['TSFE']->initFEuser();
$GLOBALS['TSFE']->sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Frontend\Page\PageRepository');
Mal gucken ob es das war.
Leider war es das nicht. Ich forsche weiter, aber langsam gehen mir die Ideen aus. Bei mir passiert es sogar wenn ich config.no_cache = 1 setze und den Cache gar nicht nutze.