[Typo3-german] Logik Problem mit isFalse - ABER funktionierendes Beispiel für wahlweisen Content aus rechter oder mittleren Spalte

M. Zöllner (News) news-zoellner at makz.de
Mon Aug 8 22:22:30 CEST 2005


Hallo zusammen,

das u.g. TS funktioniert bis auf die Stelle mit den "// ?????????..."

Szenario:
Im BE werden für den Content die Spalten 0 (Standard) und 2 (Zusatzinfos)
angeboten. Ist die rechte Spalte leer, wird der Inhalt einer siteweiten
extra Newssseite angezeigt. Funktioniert auch dank unzähliger Denkanstöße
hier in den NG's.

Problem:
Wenn die rechte Spalte etwas liefert soll da noch ein extra(!) <div>-Wrap
rum (muß sein wg. csscontent_style). So einfach wrappen kann ich nicht, da
sonst die nachfolgende Abfrage
"marks.mrkT3_RIGHTCOL.stdWrap.ifEmpty.cObject" falsch bringt, da ja der wrap
an sich eben nicht mehr "ifEmpty" auslößt.

Frage:
Was muß ich schreiben um meinen Extra-wrap um den Content der rechten Spalte
zu bekommen zu bekommen?

// Der Content der rechten Spalte wird nur 
// angezeigt wenn er für die aktuelle Seite 
// vorhanden ist. Sonst wird einfach siteweit 
// der Inhalt einer extra Seite angezeigt.
myPage.10 {
   workOnSubpart = secT3_DOCUMENT_BODY
   
   // Individueller Seiteninhalt der 
   // rechten Spalte der aktuellen Seite.
   marks.mrkT3_RIGHTCOL >
   marks.mrkT3_RIGHTCOL = CONTENT
   marks.mrkT3_RIGHTCOL {
      table = tt_content
      select {
         # pidInList = this
         orderBy = sorting
         where = colPos = 2
         languageField = sys_language_uid
      }
   }

   // ??????????????????????
   // PROBLEM:
   // Wenn es in der rechten Spalte was gibt, wrappen!
   if.isFalse.marks.mrkT3_RIGHTCOL.stdWrap.ifEmpty {
      wrap = <div class="xyz">|</div>
   }
   // ??????????????????????

   // Alternative, wenn rechte Spalte leer ist:
   // Neuigkeiten von einer anderen Seite im Dateibaum.
   marks.mrkT3_RIGHTCOL.stdWrap.ifEmpty.cObject = CONTENT
   marks.mrkT3_RIGHTCOL.stdWrap.ifEmpty.cObject {
      table = tt_content
      select{
         orderBy = sorting
         pidInList= {$myNewsUID}
         languageField = sys_language_uid
      }
   }
}

Ich habe schon bestimmt 30-40 verschiedenen Lösungsansätze gefahren aber ich
komme einfach nicht drauf. In einer anderen Programmiersprache hätte ich als
letzte Option einfach ein FLAG gesetzt und das später ausgewertet. Bloß
soetwas hat hier garnicht geklappt.

Danke für Eure Hilfe.

Matthias Zöllner




More information about the TYPO3-german mailing list