[TYPO3-german] if viewhelper / Sortieren für div css-klassen

bernd wilke t3ng at bernd-wilke.net
Tue Jul 29 16:29:57 CEST 2014


Am 29.07.14 16:07, schrieb derSven:
> Hallo
>
> ich habe drei variablen  {item.albums} {item.songs} {item.singles}
> diese 3 sollen wenn alle vorhanden sind als 3er- Spalten nebeneinander
> ausgegeben werden:
>
> <div class="row">
>     <div class="col2 col"> {item.albums} </div>
>     <div class="col2 col"> {item.songs} </div>
>     <div class="col2 col"> {item.singles} </div>
> </div>
>
> Nun habe ich aber Situationen wo ein oder zwei variablen nicht gefüllt
> sind.
> das heisst auch das layout soll sich auf 2 oder 1 spalte ändern.
>
> dafür gibt es 7 Möglichkieten:
>
> 1:
> albums
> songs
> singles
>
> 2:
> albums
> songs
>
> 3:
> songs
> singles
>
> 4:
> albums
> singles
>
> 5:
> albums alleine
>
> 6:
> songs alleine
>
> 7:
> singles alleine
>
>
> mit if condition kann ich ausgehend von {item.singles} die Situationen
> abfragen, das funktioniert aber nicht bis zur letzten Möglichkeit. siehe
> Schemata
>
> if {item.albums}
> then
> "col2" {item.albums}
> "col2" {item.songs}
> "col2" {item.singles}
> else
>   if {item.songs}
>     then
>       "col3" {item.songs}
>       "col3" {item.singles}
>     else
>        "col6" {item.singles}
>
das ist aber nicht wirklich vollständig. bei drei abfragen musst du auch 
drei ebenen mit jeweils 'then' und 'else' haben:

if {item.albums}
then
   if {item.songs}
   then
     if {item.singles}
     then
        2-2-2
     else
        3-3-0
   else
     if {item.singles}
     then
        3-0-3
     else
        6-0-0
else
   if {item.songs}
   then
     if {item.singles}
     then
       0-3-3
     else
       0-6-0
   else
     if {item.singles}
     then
       0-0-6
     else
       0-0-0 ???

alternativ zählst du die elemente und errechnest die Spaltenbreite
(ext:vhs mit v:var.set
und <f:cObject typoscriptObjectPath="lib.calc"> ...)

spalten = 0
if {item.albums}  spalten++
if {item.songs}   spalten++
if {item.singles} spalten++
spaltenbreite = 6 / spalten

if {item.albums}  "col{spaltenbreite}" {item.albums}
if {item.songs}   "col{spaltenbreite}" {item.songs}
if {item.singles} "col{spaltenbreite}" {item.singles}

> Wie kann ich das abfangen?!? Kann mir da jemand helfen?!

vollständige Abfragen machen!

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list