[Frage] Repository-Zugriff aus itemsProcFunc in Flexform

  • 0 x
    91 Beiträge
    0 Hilfreiche Beiträge
    07. 05. 2015, 10:45

    Hallo!

    Ich möchte in meinem Plugin im Backend nur eine Auswahl von Einträgen anzeigen die von der (auf jeder Seite unterschiedlichen) StoragePID/StartingPoint abhängig ist.

    Der Zugriff mittels itemsProcFunc in meiner Flexform auf meinen Helper funktioniert.
    Dort kann ich auch auf mein Repository zugreifen.
    Die Abfrage z.B. $repository->findByUid(1) funktioniert auch - nicht aber der Zugriff irgendein anderes Feld. Vor allem nicht meiner PID (im Beispiel mal fest gesetzt):

    1. $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
    2. $repository = $objectManager->get('Sp\\Servicelinks\\Domain\\Repository\\ServicelinksRepository');
    3. $servicelinks = $repository->findByPid(8);

    Ich verstehe ja, dass diese Art von Zugriff irgendwie das Instanzieren umgeht - aber wieso funktioniert dann die Abfrage auf UIDs?

    Wenn natürlich jemand noch eine andere Idee hat wie ich auch ohne den Umweg einer itemsProcFunc in meiner Flexform das Feld startingPoint als Bedingung nutzen kann, wäre mir auch schon mal geholfen...

    Viele Grüße vom Rhein

    Stefan

    40236


  • 1
  • salsamartin salsamart...
    Padawan
    0 x
    34 Beiträge
    0 Hilfreiche Beiträge
    15. 04. 2016, 15:17

    Hallo Stefan,

    wie hast Du die Aufgabe gelöst?
    Funktioniert Deine Extension

    Servicelinks
    mittlerweile?

    Ich stehe vor dem gleichen Problem...

    Viele Grüße aus dem vorderen Odenwald!

  • freshman17 freshman1...
    Sternenflotten-Admiral
    0 x
    218 Beiträge
    2 Hilfreiche Beiträge
    23. 04. 2016, 08:58

    Im Backend ist die Seiten Id im $_GET - Array verfügbar, geht z.B. so:

    1. $pageId = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('id');

    Wenn ich mich nicht täusche werden an die Methode, die userfunc aufruft, zwei Paramater übergeben. Die Alternative wäre die Seiten ID daraus sich zu holen. Muss man halt debuggen.

    TCA:

    1. 'userFunc' => 'Foo\Bar\Backend\Editor->main'

    In der Klasse
    1. public function main( $configuration, $formEngine ) {
    2. // Seiten Id aus $configuration extrahieren
    3. }

  • 1