Zum Inhalt springen

Zusätzliches CSS bei Inhalt in rechter Spalte

Erstellt am 22. September 2010 · 2 Antworten · letzte Antwort am 22. September 2010

Tags: Frage

danaron ·

Hallo
Brauchte etwas Hilfe bei der Implementation eines zweispaltigen Layouts.

Ziel:
Wenn kein Inhalt in rechter Spalte dann normaler Inhalt width:100%;
Wenn Inhalt in rechter Spalte dann normaler Inhalt width:48%;

TS Setup das Templates:

# CSS Switch Spalten
page.headerData = COA
page.headerData {
  10 = TEXT
  10.value (
        <link rel="stylesheet" type="text/css" href="fileadmin/spalte-zwei.css" />
    )
  10.override  (
        <link rel="stylesheet" type="text/css" href="fileadmin/spalte-ganz.css" />
   )
  10.override.ifEmpty = subparts.INHALT_RECHTS
}

page.30 = TEMPLATE
page.30 {
    template = FILE
    template.file = fileadmin/template/main.html
    workOnSubpart = DOKUMENT

# Inhalt einlesen:
    marks {
        INHALT = CONTENT
        INHALT {
            table = tt_content
            select {
                orderBy = sorting
                where = colPos = 0
            }
            stdWrap {
                wrap = <div id="inhalt"> | </div>
                required = 1
            }
        }
        INHALT_RECHTS = CONTENT
        INHALT_RECHTS {
            table = tt_content
            select {
                orderBy = sorting
                where = colPos = 2
            }
            stdWrap {
                wrap = <div id="rechts"> | </div>
                required = 1
            }
        }
        INHALT_RAND = CONTENT
        INHALT_RAND {
            table = tt_content
            select {
                orderBy = sorting
                where = colPos = 3
            }
            stdWrap {
                wrap = <div id="rand"> | </div>
                required = 1
            }
              
        }
    }
}

Leider funktioniert aber das override nicht, resp. immer, egal ob Inhalt in der Rechten Spalte hat oder nicht. Danke fürs Anschauen!

igorshmigor ·

Ui, da stimmt ja einiges nicht. Wenn überhaupt müsste es doch heißen

page.30.marks.INHALT_RECHTS

und nicht

subparts.INHALT_RECHTS

Außerdem funktioniert ifEmpty so nicht. Dein Code bewirkt, dass wenn page.10.headerData.10.override leer sein sollte, er mit dem String "subparts.INHALT_RECHTS" gefüllt wird.
Verwende stattdessen if mit numrows.

danaron ·

Hi Igorshmigor
Danke für die Hilfe. Ging wohl etwas schnell. IfEmpty ist definitiv das falsche Teil ;-)
Dein Tipp und der untere Link hat die Lösung gebracht.

# CSS Switch Spalten
temp.headerdata = TEXT
temp.headerdata {
        value = <link rel="stylesheet" href="fileadmin/spalte.css">
        if.isTrue.numRows { 
                pidInList = this
                table = tt_content
                select.where = colPos=2
        }
}
page.headerData.66 < temp.headerdata

hier noch ein hilfreicher Link (bis numRows scrollen).
Danke vielmals!