[TYPO3-german] count innerhalb einer fluid for each schleife

Ralf-Rene Schröder ralf.rene at online.de
Fri Oct 14 14:43:38 CEST 2016


bin jetzt ein klein wenig weiter...
da ich es nicht schaffe die ausgabe abhängig vom der übergeordneten
Schleife (hier Berater) zu machen, habe ich ein eigenes Array mit Namen
beraterdata erstellt:
$beraters = $this->beraterRepository->findAll();
foreach ($beraters as $berater) {
  $buid = $berater->getUid();
  $beraterdata[$buid]['1'] =
$this->teilnehmerRepository->count4RowBerater($berater);
  $beraterdata[$buid]['2'] =
$this->teilnehmerRepository->count4RowBerater($berater,array('ROT',true));
  $beraterdata[$buid]['3'] = ...
...
  $this->view->assign('beraterdata', $beraterdata);
}

das gibt ein sauberes Array beraterdata im Frontend aus...
erste Ebene die Berater-ID ... zweite Ebene die Spalten in der Ausgabe
nur wie komme ich jetzt in Fluid an die erste/zweite Ebene ran ???
Meine Versuche:
<f:for each="{beraters}" as="berater">
<tr>
 <f:alias map="{buid: '{berater.uid}'}">
  <th>(ID:{buid}) {berater.name}</th>   <<< das geht !!!
  <td>{beraterdata: '{{buid}: 1}'}</td>
  <td>{beraterdata.{buid}.2}</td>
  <td>{beraterdata.'{buid}'.3}</td>
  <td>{beraterdata.80.4}</td>    <<< das geht !!!
 </f:alias>
</tr>
</f:for>
das der alias sauber durchläuft sehe ich in der th, denn dort wird die
ID:{buid} sauber ausgegeben...
nur in der Definition der Arrayausgabe wird es nicht ersetzt und es wird
immer der komplette String mit Klammern ausgegeben (wie ist die Notation
für solch eine verschachtelte Arryausgabe ???
Ein {beraterdata.80.4} liefert die richtige Ausgabe für genau diesen
Berater, nur wie klappt die Ersetzung der {buid} in dieser Situation ???


Am 13.10.2016 um 14:31 schrieb Ralf-Rene Schröder:
> Am 13.10.2016 um 13:52 schrieb Stefan Padberg:
>> $beraterRot = $this->teilnehmerRepository->count4RowBerater($berater,ROT);
>> $this->view->assign('beraterRot', $beraterRot);
>>
>> Funktioniert das? Kannst du darauf im Fluid problemlos zugreifen?
> im prinzip ja, aber eben nicht in Relation zur Beraterzeile
> 
> aus folgendem Controller (ohne ROT, nur der Hauptzähler):
> $beraters = $this->beraterRepository->findAll();
> foreach ($beraters as $berater) {
>   $berater1 = $this->teilnehmerRepository->count4RowBerater($berater);
>   $berater2 = $this->teilnehmerRepository->count4RowBerater('80');
>   $this->view->assign('berater1', $berater1);
>   $this->view->assign('berater2', $berater2);
> }
> $this->view->assign('beraters', $beraters);
> 
> wird im DEBUG (reduziert)
> Extbase Variable Dump
>    berater1 => 0 (integer)
>    berater2 => 10 (integer)
>    beraters =>
> TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (47 items)
> 
> 
> PS: count4RowBerater('80') ist beispielhaft ein Berater der, wie man im
> Ergebnis sieht, 10 Teilnehmer hat...
> PPS: die Berater SIND übrigens eine erweitertes fe_users Model
> 


-- 
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format


More information about the TYPO3-german mailing list