[Frage] FindAll() beinhaltet keine FAL Dateien

  • kingcasi kingcasi
    Sternenflotten-Admiral
    0 x
    175 Beiträge
    1 Hilfreiche Beiträge
    20. 07. 2015, 10:42

    Hallo zusammen,

    ich habe ein Repository, welches ein paar FAL-Dateien beinhaltet.
    (Über eigene DB-Abfragen kann ich mir diese auch anzeigen lassen.)

    Wenn ich aber die magischen Funktionen von Extbase nutze, dann sind im Objekt keinerlei Dateiverknüpfungen per FAL vorhanden.

    Hat jemand eine Idee wie das kommt?

    Das Repository (Locations-Repository) spreche ich über Dependency-Injection aus einer anderen Extension an, mit der ich per Webservice im JSON-View die Daten anzeigen lassen will.

    Webservice-Controller:

    1. /**
    2. * locationsRepository
    3. *
    4. * @var \XXX\YYY\Domain\Repository\LocationsRepository
    5. * @inject
    6. */
    7. protected $locationsRepository;
    8.  
    9.  
    10. /**
    11.   * @var string
    12.   */
    13. protected $defaultViewObjectName = 'TYPO3\\CMS\\Extbase\\Mvc\\View\\JsonView';

    LIST-Action:

    1. $locations = $this->locationsRepository->findAll();
    2. $this->view->assign('value', $locations);

    Im Repository des Webservices habe ich zudem die Storage-Einstellungen geändert:

    1. // Ändern der QuerySettings im Repository eines Models
    2. public function initializeObject() {
    3. /**
    4. * @var $defaultQuerySettings \TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings
    5. *
    6. */
    7. $defaultQuerySettings = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
    8. // add the pid constraint
    9. $defaultQuerySettings->setRespectStoragePage(TRUE);
    10. }

    Nun gebe ich mir die Daten der Locations aus der findAll()-methode aus und sowhl per JSON View als auch in der normalen Liste fehlen alle FAL-Dateien.
    Auch per debug im Liste-template fehlen diese komplett...

    Wäre sehr dankbar für Input und Ideen...

    VG KC


  • 1
  • kingcasi kingcasi
    Sternenflotten-Admiral
    0 x
    175 Beiträge
    1 Hilfreiche Beiträge
    20. 07. 2015, 12:59

    OK, selber gemerkt. Die Properties sind protected und werden erst im View aufgelöst...

    Wie kann ich die FAL-Daten denn dann nun im JSON-View ausgeben?

    Ich will ja das ganze Objekt hier auswerten ...

    Danke, VG KC

  • hydrococcus hydrococc...
    Padawan
    0 x
    36 Beiträge
    0 Hilfreiche Beiträge
    04. 10. 2016, 17:40

    Hallo zusammen,

    ok, der Beitrag ist schon etwas älter aber ich habe das selbe Problem. So sieht meine Action im Controller aus:

    1. protected $defaultViewObjectName = 'TYPO3\\CMS\\Extbase\\Mvc\\View\\JsonView';
    2.  
    3. protected $produktRepository;
    4.  
    5. public function jsonAction()
    6. {
    7. $this->view->setVariablesToRender(array('produkte'));
    8. $this->view->setConfiguration(
    9. 'produkte' => array(
    10. '_descendAll' => array(
    11. 'only' => array('titel', 'beschreibung', 'bild', 'download', 'categories'),
    12. '_descend' => array(
    13. 'bild' => array(),
    14. 'download' => array(),
    15. 'categories' => array(),
    16. )
    17. )
    18. )
    19. )
    20. );
    21.  
    22. $this->view->assign('produkte', $this->produktRepository->findAll());
    23. }

    Nur wie komme ich an die Pfade der enthaltenen Dateien. Es werden nur UID und PID ausgegeben. Ich brauche aber das ganze Object, um im JSON später auch den Pfad zu den Dateien zu haben.

    Vielen Dank schon mal und Grüße

  • 1