[TYPO3-german] extbase: Datensätze aus fe-Formular landen immer an root-page
bugblatterbeast
info at bugblatterbeast.de
Tue Apr 26 16:38:29 CEST 2016
Hallo,
ich stehe vor einem mir unerklärlichen Problem. Ich schaffe es einfach nicht festzulegen, wo eine von mir erstellte Extbase-Extension neue Datensätze aus einem FE-Formular speichert. Die landen nämlich alle an der root-Seite.
Wie richtet man systemkonform ein, an welcher Seite die Datensätze aus einem FE-Formular gespeichert werden? Es gibt sehr viele Artikel über die StoragePid aber alle die ich finde beziehen sich anscheinend nur auf die Darstellung und nicht auf die createAction...
Um sicher zu gehen, dass es sich nicht um eine Wechselwirkung handelt, habe ich eine komplett neue Extension mit dem Extension Builder aufgesetzt. Diese beinhaltet eine einzige Tabelle (mit Repository) und ein einziges Plugin, dass alle Aktionen für diese Tabelle enthält. Die Extension war sofort einsatzbereit und zeigte Datensätze von allen Seiten (pid wurde nicht berücksichtigt) und speicherte natürlich an der root-Seite. Nun habe ich der Repository-Klasse folgende Funktion zugefügt:
/**
* @brief Initialization
*/
public function initializeObject() {
$querySettings = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
$querySettings->setRespectStoragePage(true);
$querySettings->setStoragePageIds(array(164)); // Testseite
$this->setDefaultQuerySettings($querySettings);
}
Der Controller wurde um diese Funktion erweitert:
/**
* @brief Initialization
*/
protected function initializeAction() {
parent::initializeAction();
$this->testRepository->initializeObject();
}
Das funktioniert auch einwandfrei für die Darstellung aber leider nicht für die Erstellung von Datensätzen. Es werden zwar nur noch Datensätze der festgelegten Seite angezeigt aber im Frontend erstellte Datensätze erhalten nach wie vor die pid 0.
TYPO3 6.2.21
PHP 5.5.9-1ubuntu4.14
Apache 2.4.7
Gruß, Nils
More information about the TYPO3-german
mailing list