Zum Inhalt springen

divwrap für Überschrift und Content getrennt, Elemente einzeln

Erstellt am 22. Oktober 2007 · 8 Antworten · letzte Antwort am 9. Mai 2008

Tags: Inhaltselemente, Frage

Zenthara ·

Hallo,

haben folgendes Problem:

Ich möchte über jedes Contentelement ein div legen, zusätzlich über die jeweilige Headline und den Restcontent auch. Sollte in HTML also quasi so aussehen:

<div class="divleft"><div class="divleft_title">###HEADLINE###</div><div class="divleft_body">###RESTLICHER_CONTENT###</div></div>.

Habe das Ganze auch oberflächlich so lösen können:

      LEFT = CONTENT
      LEFT {
            table = tt_content
            tt_content = COA
            select.orderBy = sorting
            select.where = colPos = 0
            renderObj < tt_content
            renderObj=COA
            renderObj {
               stdWrap.wrap=<div class="divleft">|</div>
               10 = TEXT
               10.field = header
               10.wrap = <div class="divleft_title"><h1>|</h1></div><div class="divleft_body">
               20 = TEXT
               20.field = bodytext
               20.parseFunc = < lib.parseFunc_RTE
               20.editIcons = tt_content:bodytext, rte_enabled
               20.wrap = |</div>
               }
            }

Jedoch habe ich dann das Problem, dass ich im Body nichts anderes als Text ausgeben kann (Formulare oder ähnliches werden auch als Text ausgegeben). Ganz klar, der bodytext ist ja auch als TEXT definiert.

Meine Frage ist jetzt, ob es eine Möglichkeit gibt, das Ganze so durchzuführen, dass auch der restliche Content so dargestellt wird, wie er normalerweise dargestellt werden soll.

Vielen Dank im Voraus für etwaige Vorschläge!

lg

just2b ·

glück dass ich das auch eben brauchte

ca so

temp.wrap {
  stdWrap.outerWrap= <div class="rgaccord2-content">|</div>
  stdWrap.outerWrap.stdWrap.prepend =  TEXT
  stdWrap.outerWrap.stdWrap.prepend.field= header
  stdWrap.outerWrap.stdWrap.prepend.wrap = <div class="ce" style="border:1px solid #000;margin:10px"><h3 class="rgaccord2-toggle">|</h3>   

  stdWrap.wrap = <div style="margin:10px;padding:10px;border:1px solid blue">|</div></div><div style="height:20px;border:1px solid orange"></div>
  
  stdWrap.outerWrap.stdWrap.append =  TEXT
  stdWrap.outerWrap.stdWrap.append.value = 
}

lib.stdheader >


# Default PAGE object:
page = PAGE
page.typeNum = 0
page.10 <styles.content.get
page.10.renderObj < temp.wrap

lg georg

Zenthara ·

Hallo,

vielen Dank. Aber wie baue ich das Ganze nun am Besten in meinen Code ein?

Habe leider eher keine Ahnung von styles.content.get, arbeite wie du siehst eher auf die "altmodische" Art und Weise..

Zenthara ·

Steht doch eh oben - dachte, es gibt eventuell eine Schreibweise, die ich direkt in meinen Code integrieren kann. Aber natürlich stelle ich auch gern den kompletten Code rein.

Drehen tut sichs um "LEFT" und "RIGHT", dass sind die beiden Spalten, die so formatiert ausgegeben werden sollen.

seite = PAGE
seite {
   stylesheet = fileadmin/templates/template_2007_01/template_2007_01.css
   10 = TEMPLATE
   10.template = FILE
   10.template.file = fileadmin/templates/template_2007_01/template_01_ger.html
   10.workOnSubpart = DOKUMENT
   10.marks {
      HEADER = CONTENT
      HEADER {
            table = tt_content
            tt_content = COA
            select.pidInList = 25
            select.orderBy = sorting
            select.where = colPos = 0
            }
      RIGHT = CONTENT
      RIGHT { 
            table = tt_content
            tt_content = COA
            select.orderBy = sorting
            select.where = colPos = 2
            renderObj < tt_content
            renderObj=COA
            renderObj {
               stdWrap.wrap=<div class="divright">|</div>
               10 = TEXT
               10.field = header
               10.wrap = <div class="divright_title"><h1>|</h1></div><div class="divright_body">
               20 = TEXT
               20.field = bodytext
               20.parseFunc = < lib.parseFunc_RTE
               20.editIcons = tt_content:bodytext, rte_enabled
               20.wrap = |</div>
               }
            }
      LEFT = CONTENT
      LEFT {
            table = tt_content
            tt_content = COA
            select.orderBy = sorting
            select.where = colPos = 0
            renderObj < tt_content
            renderObj=COA
            renderObj {
               stdWrap.wrap=<div class="divleft">|</div>
               10 = TEXT
               10.field = header
               10.wrap = <div class="divleft_title"><h1>|</h1></div><div class="divleft_body">
               20 = TEXT
               20.field = bodytext
               20.parseFunc = < lib.parseFunc_RTE
               20.editIcons = tt_content:bodytext, rte_enabled
               20.wrap = |</div>
               }
            }
      BOTTOM = CONTENT
      BOTTOM {
            table = tt_content
            tt_content = COA
            select.orderBy = sorting
            select.pidInList = 26
            select.where = colPos = 0
            }
       }
}

Danke!

just2b ·

bitte css_styled_content ein und schreibe

marks.LEFT <styles.content.getLeft
marks.LEFT.renderObj...

georg

Zenthara ·

Habe mich nun auch ein wenig in die styles.content.get-Sache eingelesen.

Vielen Dank just2be! Hat so geklappt (wobei ich bis jetzt nur RIGHT geändert habe, für den Rest hatte ich jetzt keine Zeit mehr):

temp.wrap {
   stdWrap.outerWrap = |</div>
   stdWrap.outerWrap.stdWrap.prepend =  TEXT
   stdWrap.outerWrap.stdWrap.prepend.field= header
   stdWrap.outerWrap.stdWrap.prepend.wrap = <div class="divright"><div class="divright_title"><h1>|</h1></div>
   stdWrap.wrap = <div class="divright_body">|</div>
   }

lib.stdheader >

seite = PAGE
seite {
   stylesheet = fileadmin/templates/template_2007_01/template_2007_01.css
   10 = TEMPLATE
   10.template = FILE
   10.template.file = fileadmin/templates/template_2007_01/template_01_ger.html
   10.workOnSubpart = DOKUMENT
   10.marks {
      HEADER = CONTENT
      HEADER {
            table = tt_content
            tt_content = COA
            select.pidInList = 25
            select.orderBy = sorting
            select.where = colPos = 0
            }
      RIGHT < styles.content.getRight
      RIGHT { 
            table = tt_content
            tt_content = COA
            select.orderBy = sorting
            select.where = colPos = 2
            renderObj < temp.wrap
            }
      LEFT < styles.content.get 
      LEFT {
            select.orderBy = sorting
            select.where = colPos = 0
            renderObj < tt_content
            renderObj=COA
            renderObj {
               stdWrap.wrap=<div class="divleft">|</div>
               10 = TEXT
               10.field = header
               10.wrap = <div class="divleft_title"><h1>|</h1></div><div class="divleft_body">
               20 = TEXT
               20.field = bodytext
               20.parseFunc = < lib.parseFunc_RTE
               20.editIcons = tt_content:bodytext, rte_enabled
               20.wrap = |</div>
               }
            }
      BOTTOM = CONTENT
      BOTTOM {
            table = tt_content
            tt_content = COA
            select.orderBy = sorting
            select.pidInList = 26
            select.where = colPos = 0
            }
       }
}
Zenthara ·

Für alle, dies interessiert - hier meine finale Version:

tempright.wrap {
   stdWrap.outerWrap = |</div>
   stdWrap.outerWrap.stdWrap.prepend =  TEXT
   stdWrap.outerWrap.stdWrap.prepend.field= header
   stdWrap.outerWrap.stdWrap.prepend.wrap = <div class="divright"><div class="divright_title"><h1>|</h1></div>
   stdWrap.wrap = <div class="divright_body">|</div>
   }
templeft.wrap {
   stdWrap.outerWrap = |</div>
   stdWrap.outerWrap.stdWrap.prepend =  TEXT
   stdWrap.outerWrap.stdWrap.prepend.field= header
   stdWrap.outerWrap.stdWrap.prepend.wrap = <div class="divleft"><div class="divleft_title"><h1>|</h1></div>
   stdWrap.wrap = <div class="divleft_body">|</div>
   }
tempbottom.wrap {
   stdWrap.outerWrap = |</div></div>
   stdWrap.outerWrap.stdWrap.prepend =  TEXT
   stdWrap.outerWrap.stdWrap.prepend.wrap = <div class="bottom"><br><br><div class="bottom_body">|
   }

lib.stdheader >

seite = PAGE
seite {
   stylesheet = fileadmin/templates/template_2007_01/template_2007_01.css
   10 = TEMPLATE
   10.template = FILE
   10.template.file = fileadmin/templates/template_2007_01/template_01_ger.html
   10.workOnSubpart = DOKUMENT
   10.marks {
      HEADER < styles.content.get
      HEADER {
            select.pidInList = 25
            select.orderBy = sorting
            select.where = colPos = 0
            }
      BOTTOM < styles.content.get
      BOTTOM {
            select.pidInList = 26
            select.orderBy = sorting
            select.where = colPos = 0
            renderObj < tempbottom.wrap
            }
      RIGHT < styles.content.getRight
      RIGHT { 
            select.orderBy = sorting
            select.where = colPos = 2
            renderObj < tempright.wrap
            }
      LEFT < styles.content.get 
      LEFT {
            select.orderBy = sorting
            select.where = colPos = 0
            renderObj < templeft.wrap
            }
       }
}
cbatik ·

Hallo!

Die Lösungen hier, haben mir gerade mächtig weitergeholfen. Allerdings: Wie kann ich die wraps für die einzelnen Überschriften auf diese Art und Weise regeln? Den mit

lib.stdheader.10.1.wrap = <h1> | </h1>
lib.stdheader.10.2.wrap = <h2> | </h2>

geht das ja so nicht mehr.

Folgendes hätt ich ua. probiert, leider aber ohne Erfolg:

stdWrap.outerWrap.stdWrap.prepend.10.1.wrap

Danke, LG
Christoph