Re: [TYPO3-german] Extbase/Fluid-Extension: FlexForm settings werden nicht gelesen (T3 6.2.4)
Hallo Bernd, nein, das kannte ich nicht. Vielen Dank also für den Hinweis! LG: Hagen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extbase/Fluid-Extension: FlexForm settings werden nicht gelesen (T3 6.2.4)
Am 22.01.15 um 09:37 schrieb Hagen Gebauer: Hallo Johannes, vielen Dank für Deine Antwort. Genau genommen will ich nicht den im FlexForm gewählten Eintrag ausgeben, sondern eine Liste von DB-Einträgen, die mit diesem Eintrag übereinstimmen. Der Ausgabe im Fluid-Template war letztlich nur ein Test, ob die Variable überhaupt ankommt. Wie dem auch sei: ich habe folgendes herausgefunden: • das Array $this->settings ist nur im Controller, nicht aber in der Repository verfügbar (ich war eigentlich überzeugt, das auch schon getestet zu haben) • im Fluid-Template ist {flexform.trackSelection} ebenfalls nicht verfügbar So funktioniert es jetzt: Controller-Methode: public function listByTrackAction() { $groups = $this->groupsRepository->listByTrack($this->settings['flexform']['trackSelection']); $this->view->assign('groups', $groups); } Repository-Methode: public function listByTrack($primaryTrack) { $query = $this->createQuery(); $query = $query->matching( $query->like('primary_track', $primaryTrack) ); return $query->execute(); } Zudem habe ich einen Weg gefunden, mir jedweden String im Fluid-Template auszugeben und damit eine Debugging-Methode geschaffen. Für den Fall, dass es jemand anderen interessiert, führe ich es am Beispiel des Arrays $this->settings['flexform'] mal aus: (im Controller listByTrackAction()) $nr = 0; foreach($this->settings['flexform'] AS $key => $val) { $groups[$nr]['firstName'] = $key; $groups[$nr]['lastName'] = $val; $nr++; } Entscheidend ist die Zuordnung der Werte zum Array $groups[x], das ja im Controller dem View zugeordnet wird (siehe oben) Im Template gebe ich in einer Schleife die Variablen {group.firstName} und {group.lastName} aus. hm. du kennst aber schon den Viewhelper f:debug? und {_all} definiert ein Array mit allen definierten Variablen: {_all} da müßte dein flexform dann auch drin sein (sofern du nicht in einer Section mit nur lokalen Variablen bist). bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extbase/Fluid-Extension: FlexForm settings werden nicht gelesen (T3 6.2.4)
Hallo Johannes, vielen Dank für Deine Antwort. Genau genommen will ich nicht den im FlexForm gewählten Eintrag ausgeben, sondern eine Liste von DB-Einträgen, die mit diesem Eintrag übereinstimmen. Der Ausgabe im Fluid-Template war letztlich nur ein Test, ob die Variable überhaupt ankommt. Wie dem auch sei: ich habe folgendes herausgefunden: • das Array $this->settings ist nur im Controller, nicht aber in der Repository verfügbar (ich war eigentlich überzeugt, das auch schon getestet zu haben) • im Fluid-Template ist {flexform.trackSelection} ebenfalls nicht verfügbar So funktioniert es jetzt: Controller-Methode: public function listByTrackAction() { $groups = $this->groupsRepository->listByTrack($this->settings['flexform']['trackSelection']); $this->view->assign('groups', $groups); } Repository-Methode: public function listByTrack($primaryTrack) { $query = $this->createQuery(); $query = $query->matching( $query->like('primary_track', $primaryTrack) ); return $query->execute(); } Zudem habe ich einen Weg gefunden, mir jedweden String im Fluid-Template auszugeben und damit eine Debugging-Methode geschaffen. Für den Fall, dass es jemand anderen interessiert, führe ich es am Beispiel des Arrays $this->settings['flexform'] mal aus: (im Controller listByTrackAction()) $nr = 0; foreach($this->settings['flexform'] AS $key => $val) { $groups[$nr]['firstName'] = $key; $groups[$nr]['lastName'] = $val; $nr++; } Entscheidend ist die Zuordnung der Werte zum Array $groups[x], das ja im Controller dem View zugeordnet wird (siehe oben) Im Template gebe ich in einer Schleife die Variablen {group.firstName} und {group.lastName} aus. Schöne Grüße, Hagen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extbase/Fluid-Extension: FlexForm settings werden nicht gelesen (T3 6.2.4)
Hallo Hagen, wenn ich dich richtig verstanden habe, dann möchtest du im Frontend den im Plugin gewählten Eintrag ausgeben. Plugin-Einstellungen sind in der Repository-Klasse in der Array-Variablen $settings verfügbar, also so verarbeiten und testen: foreach ($settings as $item) { /** * Jede Plugin-Einstellung ist ein assoziatives Array; * der Index (Key) referenziert dabei auf ein Flexform-Feld (settings.flexform.). **/ foreach($item as $key => $value) { /** Only for testing **/ echo "".$key.": ".$value.""; } ... } Und in deinem Fluid-Template für das Frontend musst du dann eingentlich nur noch mit {object.eigenschaft} darauf zugreifen, also z.B. {trackSelection.name}. Johannes. > -Ursprüngliche Nachricht- > Von: typo3-german-boun...@lists.typo3.org > [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von > Hagen Gebauer > Gesendet: Mittwoch, 21. Januar 2015 13:31 > An: typo3-german@lists.typo3.org > Betreff: [TYPO3-german] Extbase/Fluid-Extension: FlexForm > settings werden nicht gelesen (T3 6.2.4) > > Hi! > > ich habe für ein Plugin meiner Extension ein einfaches > FlexForm mit einer Select-Liste angelegt. Diese ist in der > XML-Datei umschlossen mit > > > Im Backend funktioniert alles wunderbar, das Formular ist > aufrufbar und wird auch korrekt gespeichert. > > Im Frontend jedoch ist die Variable > $this->settings['flexform']['trackSelection'] im Repository > offensichtlich leer und {flexform.trackSelection} im > Fluid-Template definitiv leer. > > Der Aufruf in der Repository-Methode ist > $query->like('primary_track', > $this->settings['flexform']['trackSelection']) > > Mit statischer Angabe der trackSelection-Variable in der Form > $query->like('primary_track', 4) funktioniert die Ausgabe des > Plugins einwandfrei. > > Mein TYPO3 ist Version 6.2.4 > > Übersehe ich irgendetwas? Ein Debugging ist mir nicht > gelungen, weil ich leider keine Ahnung habe, in welcher Form > ich einen einfachen String an das Fluid-Template übergeben muss. > > Eine weitere Frage in dem Zusammenhang: wo sind die > gespeicherten FlexForm-Variablen eigentlich hinterlegt? Wenn > ich das Feld tt_content.pi_flexform leere, wird im > Backend-Formular noch immer die korrekte Auswahl angezeigt. > > Vielen Dank im Voraus! > > LG: der Hagen. > ___ > TYPO3-german mailing list > TYPO3-german@lists.typo3.org > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german > ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Extbase/Fluid-Extension: FlexForm settings werden nicht gelesen (T3 6.2.4)
Hi! ich habe für ein Plugin meiner Extension ein einfaches FlexForm mit einer Select-Liste angelegt. Diese ist in der XML-Datei umschlossen mit Im Backend funktioniert alles wunderbar, das Formular ist aufrufbar und wird auch korrekt gespeichert. Im Frontend jedoch ist die Variable $this->settings['flexform']['trackSelection'] im Repository offensichtlich leer und {flexform.trackSelection} im Fluid-Template definitiv leer. Der Aufruf in der Repository-Methode ist $query->like('primary_track', $this->settings['flexform']['trackSelection']) Mit statischer Angabe der trackSelection-Variable in der Form $query->like('primary_track', 4) funktioniert die Ausgabe des Plugins einwandfrei. Mein TYPO3 ist Version 6.2.4 Übersehe ich irgendetwas? Ein Debugging ist mir nicht gelungen, weil ich leider keine Ahnung habe, in welcher Form ich einen einfachen String an das Fluid-Template übergeben muss. Eine weitere Frage in dem Zusammenhang: wo sind die gespeicherten FlexForm-Variablen eigentlich hinterlegt? Wenn ich das Feld tt_content.pi_flexform leere, wird im Backend-Formular noch immer die korrekte Auswahl angezeigt. Vielen Dank im Voraus! LG: der Hagen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german