Zum Inhalt springen

Eigene Tabelle im Backend ausgeben

Erstellt am 29. Juli 2014 · 1 Antwort · letzte Antwort am 29. Juli 2014

Tags: Frage

eddy ·

Hallo zusammen,

über ein FE-Plugin erfasse ich diverse Daten und speichere daraufhin diese in einer eigenen Tabelle (Model, Controller und Repository vorhanden).

Nun erstelle ich eine BE-Modul, um diese Tabellendaten im Backend zunächst nur anzuzeigen. Damit die Daten aus dem Repository verwendet werden können, bedarf es wohl der storagePid.

Hier komme ich nun ins Grübeln, da es ja eine storagePid in dem Sinne nicht gibt. Die Daten sind lediglich in einer Tabelle.

Mit der findByUid()-Methode lässt sich auf einzelne Datensätze zugreifen und im BE anzeigen. Aber die findAll()-Methode liefert ohne storagePid ein leeres QueryResult-Array.

Mache ich hier einen Denkfehler oder wie kann ich nun die Daten der Tabelle im Backend ausgeben?

Eddy

eddy · · Beste Antwort

Habe nun eine Lösung für diesen Fall gefunden. Es gibt dabei eine Einstellung in den querySettings, die das Auslesen der Datensätze von einer definierten Storage Page unterdrückt.
Das Zauberwort dabei ist: setRespectStoragePage(), welches auf FALSE gesetzt werden muss.

In meinem Fall habe ich damit vor der eigentlichen Methode im Controller listBeAction() einfach eine initializeListBeAction()-Methode gesetzt mit folgendem Inhalt:

 public function initializeListBeAction() {
 $querySettings = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
 $querySettings->setRespectStoragePage(FALSE);
 $querySettings->setRespectEnableFields(FALSE);
 $this->ordersRepository->setDefaultQuerySettings($querySettings);
 }

Somit werden nun alle Datensätze der Tabelle mit der findAll()-Methode ausgegeben.