[TYPO3-german] Extbase/Fluid-Extension: FlexForm settings werden nicht gelesen (T3 6.2.4)

bernd wilke t3ng at bernd-wilke.net
Thu Jan 22 11:24:11 CET 2015


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
> <f:for each="{groups}" as="group">
> 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:

<f:debug title="alle definierten Variablen">{_all}</f:debug>

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


More information about the TYPO3-german mailing list