Hallo Thomas,

ich hatte bei weiterem Querlesen was Ähnliches gefunden. Da stand, dass die if condition nicht mit einem String vergleicht, man müsse das angeblich beides in ein Array verwandeln. Wie auch immer...ich habs gelassen wie's iss und erhalte eine senkrechte Aufstellung in derselben Reihenfolge wie vorher.

Lagere ich dann noch die Gruppierungsschleife in die Tabellenzeile aus, kommt die Tabelle raus, die Du auf der Seite ganz oben siehst. Das wäre dann dieses - die condition kommt also nicht zum Tragen:

<table>
<tr><f: groupedFor...>
<td><derganzeRest></td>
    </f:for>
</tr>
</table>


Dummerweise ist nicht rauszufinden, wonach hier überhaupt sortiert wird. Weder die Datenbank selbst noch das BE geben Aufschluss, woher diese Sortierung kommt - ich kann auch ändern, was ich will, das FE rührt sich keinen Millimeter.

Ich hab das dann erstmal ad acta gelegt und was gesucht, das mir des Platzes wegen nur jeweils 2 Bezirke pro Zeile anzeigt.

Die zielbezogen leider ebenso wenig funktionsfähige Idee war diese:

<f:groupedFor each="{vereines}" as="clubs" groupBy="kategorie" groupKey="kategorie">
   <f:if condition="{kategorie} % 2"></f:if>
         <div style="float:left margin-left:30px">
     <f:then>
         <h3>{kategorie.bezirk}</h3>
       <f:for each="{clubs}" as="club">
<f:link.action action="show" arguments="{vereine : club}">{club.vereinsname}</f:link.action></br>
       </f:for>
     </f:then>
   </div>

     </f:groupedFor>

Dabei war im Original die condition sogar in den div-Befehl eingebettet.
Ich möchte erreichen, dass nur 2 Bezirke pro Zeile angezeigt werden. Der Grund ist, dass ich verhindern will, in kleineren Fenstern gleich die komplette Mittelspalte nach unten verschoben zu bekommen. Wenn schon flexible Seite, dann richtig *g*.

Ich fasse mal zusammen, was der Idealfall wäre:

- Bezirke in der richtigen Reihenfolge
- Vereine alphabetisch (evtl könnte ich Kürzel wie "SC" in ein eigenes DB-Feld auslagern, nach der Stadt muss dann immer noch sortiert werden)
- 2 Bezirke pro Zeile (wenn genug Platz, gehen auch 3)

Momentan schaue ich jedoch schon dumm aus der Wäsche, wenn ich mich dem auch nur annähern will *grummel*.

Cu, Steffen

Am 16.10.2012 11:23, schrieb Thomas Nussbaumer:
Hallo Steffen

Ich sehe dass du ein schönes Stück weiter bist. Leider kann Extbas nicht
einfach nach einer Relation sortieren. Um die gewünschte Reihenfolge der
Bezirke zu erreichen, kannst du etwa folgendes in jede Tabellenspalte
schreiben, mit der entsprechenden UID des Bezirks in condition:

<td ,,,,, >
<f:groupedFor each="{vereines}" as="clubs" groupBy="kategorie"
groupKey="kategorie">
<f:if condition="{kategorie.uid} == 1">
<h3>{kategorie.bezirk}</h3>
<f:for each="{clubs}" as="club">
<f:link.action action="show" arguments="{vereine : club}"
{club.vereinsname}</f:link.action></br>
</f:for>
</f:if>
</f:groupedFor>
</td>

Ich hoffe, dass so die richtige Darstellung entsteht.

Gruss. Thomas

Am 15.10.2012 19:15, schrieb Steffen Liebig:
Hallo Thomas,

dies kam raus:

<td>Bezirk I (Kaiserslautern)</br></br>
<f:groupedFor each="{vereines}" as="clubs" groupBy="kategorie"
groupKey="kategorie">
<tr>
<th>{kategorie.bezirk}</th>
</tr>
<f:for each="{clubs}" as="club">
<f:link.action action="show" arguments="{vereine :
club}">{club.vereinsname}</f:link.action></br>
</f:for>
</f:groupedFor>
</td>

-->

SC Caissa Jockgrim
Turm Kandel
SC Herxheim
SK Ludwigshafen
SC 1975 Bann e.V.
SF Althornbach
SK Dahn
VfR Baumholder
Bezirk I (Kaiserslautern)

Bezirk IV
Bezirk II-III
Bezirk I
Bezirk V
Bezirk VI

- Clubs verlinkt zur Einzelansicht, das ist ok
- Bezirke unverlinkt, jup
- hmmm...Letztere als Unterliste von Bezirk I und beide (Gesamt-)Listen
einzeln (Vereine ganz oben ? *seltsam, grübel, verwirrt guck*

siehe: http://www.pfaelzischer-schachbund.de/typo3/index.php?id=38 ganz
oben

...ist insofern ein Fortschritt, als dass die Bezirksbezeichnungen
dabei >>> <f: if condition="{0:vereine.kategorie} == {0:'1'}">

sind. Über 2 Tabellen weg war mir bislang nicht vergönnt :-). Bleibt
noch die Frage, wie man die Clubs unter den richtigen Bezirksnamen
bekommt, oder wartet an der Stelle noch die condition ?

Cu, Steffen

Am 15.10.2012 18:30, schrieb Thomas Nussbaumer:
Hi Steffen

Versuch mal folgendes:

I) groupedFor
>
> <td>Bezirk I (Kaiserslautern)</br></br>
> <f:groupedFor each="{vereines}" as="clubs"
> groupBy="kategorie" groupKey="kategorie">
> <tr>
> <th>{kategorie.bezirk}</th>
> </tr>
> <f:for each="{clubs}" as="club">
> <f:link.action action="show" arguments="{vereine :
> club}">{club.vereinsname}</f:link.action></br>
> </f:for>
> </f:groupedFor>
> </td>

Ich habe II für groupedFor als Vorlage verwendet:

> II) if condition
>
> <td>Bezirk II/III (Nord-Ost)</br></br>
> <f:for each="{vereines}" as="vereine">

Gruss. Thomas


Am 15.10.2012 15:45, schrieb Steffen Liebig:
>
Hallo zusammen,

ich habe mich ziemlich "umgelesen", bin aber nicht wirklich
weitergekommen. Meine Extension zur Anzeige von Vereinsdaten lässt sich
auch nach 2 Wochen immer noch nicht dazu überreden, eine nach Bezirken
gegliederte Liste auf den Schirm zu bringen.

Kurz als Rückgriff/ Zusammenfassung:

- 2 Tabellen
-> Vereine (Felder für Name, Ansprechpartner, Jugendleiter usw,
dazu die Relation "kategorie")
-> Kategorie (Bezirk, dazu die Relation "Vereinsdaten")
- n:1-Beziehung Vereine/Kategorie
- 1:n extra in die andere Richtung

Letztere ist rein logisch unnötig. Hat sich irgendwie ergeben und dazu
geführt, dass ich die Vereine auch innerhalb der Kategorie eingeben
kann. Vielleicht hat das vereinfachende Auswirkungen auf das Auslesen
der UiD (-> Schleifen) oder sogar der Bezirksbezeichnung ?! Ist nur so
ein Gedanke...derzeit holt sich die Vereinstabelle nur die UiD der
Kategorie und packt sie in ein Extrafeld in der Datenbank. Daraus
ergaben sich die unten aufgeführten Versuche mit Schleifen und
Conditions. Ideal wäre, wenn die Extension mivereiner das Ganze
selbständig
abhängig von der Bezirksbezeichnung tabellarisch anzeigen würde (Städte
alphabetisch ?!, momentan sind Kürzel wie "SC" Teil der Vereinsnamen).

Folgende Ideen habe ich getestet - die Bezirks-Überschriften sind hier
nur als Orientierung auf dem Bildschirm gedacht...wenn ein Weg klappt,
kann ichs rüberkopieren und den Bezirk anpassen:

-- Das vorläufige Resultat findet sich auf
http://www.pfaelzischer-schachbund.de/typo3/index.php?id=38 (Anzeige
von
links nach rechts) --

I) groupedFor

<td>Bezirk I (Kaiserslautern)</br></br>
<f:groupedFor each="{vereine.vereinsname}" as="clubs"
groupBy="{vereine.kategorie}" groupKey="{vereine.kategorie}">
<tr>
<th>{vereine.kategorie}</th>
</tr>
<f:for each="{clubs}" as="club">
<f:link.action action="show" arguments="{vereine :
vereine}">{vereine.vereinsname}</f:link.action></br>
</f:for>
</f:groupedFor>
</td>

...Ergebnis: wird nix angezeigt


II) if condition

<td>Bezirk II/III (Nord-Ost)</br></br>
<f:for each="{vereines}" as="vereine">
<f: if condition="{0:vereine.kategorie} == {0:'1'}">
<f: then><f:link.action action="show" arguments="{vereine
: vereine}"> {vereine.vereinsname}</f:link.action></br></f: then>
<f: else> Keine Vereine in Kategorie 1 !</f: else>
</f: if>
</f:for>
</td>

Da dieser Weg nicht auf Vergleiche mit strings anspricht, muss man die
Kriterien angeblich als arrays verpacken (?!).

Ergebnis: es wird ALLES angezeigt, was in der Schleife auftaucht - auch
bei Vereinen, die tatsächlich in Bezirk I sind. Kurioserweise stehen
die
Abschlusstags in der Schleife IN ROT im Code. Muss man diese Befehle
nicht beenden ? Seltsam...


III) geschachteltes for each

<td>Bezirk IV (Landau)</br></br>
<f:for each="{vereine.kategorie}" as="kategorie">
{vereine.kategorie}
<f:for each="{vereines}" as="vereine">
<!--<f:link.action action="show" arguments="{vereine :
vereine}"> {vereine.kategorie}</f:link.action>-->
<f:link.action action="show" arguments="{vereine :
vereine}"> {vereine.vereinsname}</f:link.action></br>
</f:for>
</f:for>
</td>

Ergebnis: der Block im Frontend bleibt leer.


Da auch sämtliche Programmierversuche (z. T. über mehrere Dateien -
neue
Funktion erstellen etc -) im Sande verlaufen sind, bin ich langsam am
Verzweifeln.

Hat wirklich niemand eine Idee, wie sich dieses Problem lösen lässt ?

Cu, Steffen




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

Antwort per Email an