Am 06.10.2016 um 10:47 schrieb Ralf-Rene Schröder:
Am 06.10.2016 um 08:47 schrieb Stefan Padberg:
Ich glaube nicht, dass man das auf Fluid-Ebene lösen sollte. Berechne
die verschiedenen counts doch einfach im Controller und gib sie dem view
mit.
gerne, nur wie berechne ich sie in der userliste abhängig vom einzelnen
User ??? das ist ja gerade mein Problem...
Im Controller einfach eine eigene array-Variable DEFINIEREN und per PHP sie so bauen, wie du sie im Template brauchst. (bzw. eine Service-Classe oder eine statische Utility-Function bauen, der die Konvertierung vornimmt.

Controller.
foreach ( $users as $user ){

    $myRecord['name'] = $user->getName();
...
}
$this->view->assign('myRecords', $myRecords);

Fluid-Template
<f:for each="{myRecords}" aas ="myrecord">
...{myRecord.name}
</f:for>



Mit besten Grüßen
   Dieter

P.S. So weit ich weiß, kennt das Repository auch eine Count-Methode.

$offersInRegion = $query->matching($query->contains('regions', $region))->count(); Siehe Dokumentation https://docs.typo3.org/typo3cms/ExtbaseFluidBook/6-Persistence/3-implement-individual-database-queries.html


Am 06.10.2016 um 02:42 schrieb Ralf-Rene Schröder:
Hallo zusammen...
irgendwie sehe ich gerade den Lösungsweg nicht...

ich habe bei folgendem Controller:
public function listUserAction() {
   $users = $this->userRepository->findBySpecialUserStatus('1');
   $this->view->assign('users', $users);
}
im fluid template eine Schleife
<f:for each="{users}" as="user" >

darin möchte ich in jeder userzeile etwas ausgeben wie
<f:count subject="{user.records}" />

solange ich ALLE {user.records} ausgeben will ja auch OK, aber ich
brauche die jetzt in verschiedenen Abhängigkeiten, z.B. alle mit
record.parameter=red oder ähnlich... also etwa:
<f:count subject="{user.redRecords}" />
(nur redRecords gibt es ja leider nicht wirklich)

in der späteren Action die dann die so gefilterte Liste ausgibt habe ich
das dann ja wieder über das RecordRepository problemlos im Griff mit dem
Controller:
public function listRedRecordsAction($user=NULL) {
   $redRecords = $this->recordRepository->findRedRecords($user);
   $this->view->assign('redRecords', $redRecords);
}
und der Ausgabe im fluid Template über:
<f:for each="{redRecords}" as="record" >

aber wie komme ich schon bei der gesamten user Liste vorher an die
counter um zu sehen wieviel Elemente die folgende Liste haben wird???
denn, wenn ich die Repository Abfrage aus der listRedRecordAction nehme,
fehlt mir ja der einzelne userbezug, denn ich bin ja in der
listUserAction ???

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an