Zum Inhalt springen

Contentelement formatieren

Erstellt am 24. Februar 2005 · 4 Antworten · letzte Antwort am 24. Februar 2005

Tags: Frage

Beatz ·

Hallo alle zusammen,

ich möchte gern folgendes realisieren, habe aber noch keinen Ansatz. Das Contentelement soll vereinfacht folgendermaßen aufgebaut sein:

<table>
<tr>
  <td></td>
  <td>HEADER</td>
  <td></td>
</tr>
<tr>
  <td></td>
  <td>CONTENT</td>
  <td></td>
</tr>
<tr>
  <td></td>
  <td></td>
  <td></td>
</tr>
</table>

Umgesetzt sieht es dann in etwa so aus:
Bild: beatz-net.de/…/screenshot_typo3_template.jpg
Hier sind zwei Contentelemente zu sehen

Wie kann ich das im Template umsetzen?

johanness ·

Wo genau liegt deinProblem? Dass das Layout so umgesetzt ist? Das ist wohl eher ne Frage, wie man HMTL am besten in dynamische Codeschnippsel umbauen kann 😉

Beatz ·

Mein Problem liegt darin, dass ich mit styles.content.get nur den gesamten Content bekomme. Mit

tt_content.stdWrap.wrap = A|B

kann ich zwar vor und hinter den einzelnen Elementen beliebigen Code fügen, aber ich weiß nicht, wie ich auf die einzelnen Elemente header und bodytext zugreifen kann.

HTML ist absolut kein Problem, das kann ich sehr gut.

johanness ·

Den Header kannst du im TSOB bei lib.stdHeader. ändern. Die Contentelemente müsstest du einzeln wrappen (also für Text, Text/Bild, Tabelle usw). Aber das hätte ich noch nie gebraucht und ich hatte schon recht gewagte Layouts. Also mit CSS sollte da kein Problem entstehen...

Beatz ·

Kann ich denn innerhalb eines wraps auch den header einfügen?? etwa so?

tt_content.stdWrap.wrap = AAA{header}bbb | ccc

Das wäre natürlich eine saubere Lösung, weil bisher arbeite ich mit der Lösung, dass ich jedes einzelne Element rendere. Und zwar mit folgender setup:

# -----------------------------
# Inhaltsbereich
# -----------------------------

temp.maincontent = CONTENT
temp.maincontent < styles.content.get
temp.maincontent {
  table = tt_content
  select {
    pidInList = this
    orderBy = sorting
    where = colPos=0
    languageField = sys_language_uid
  }

  renderObj = COA
  renderObj.wrap = <table width="100%" cellspacing="0" cellpadding="0" border="0"><tr height="30"><td background="fileadmin/templates/psv/images/table/border_lo.gif" width="10"></td> | </td></tr></table></td><td background="fileadmin/templates/psv/images/table/border_m.gif" width="10"></td></tr><tr height="10"><td background="fileadmin/templates/psv/images/table/border_lu.gif" width="10"></td><td background="fileadmin/templates/psv/images/table/border_mu.gif"></td><td background="fileadmin/templates/psv/images/table/border_ru.gif" width="10"></td></tr></table>
  renderObj.10 = TEXT
  renderObj.10 {
    field = header
    wrap = <td background="fileadmin/templates/psv/images/topics/topic.gif" style="background-repeat:no-repeat;"><span style="font-family:Trebuchet MS,sans-serif;font-size:18px;font-weight:bold;color:#d25a0a;margin-left:35px;vertical-align:middle;"> | </span></td><td background="fileadmin/templates/psv/images/table/border_ro.gif" width="10"></td></tr><tr><td background="fileadmin/templates/psv/images/table/border_m.gif" width="10"></td><td><table cellpadding="8" cellspacing="0" border="0"><tr><td>
  }

  renderObj.30 = TEXT
  renderObj.30 {
    field = bodytext
    parseFunc.allowTags = p
    parseFunc.denyTags >
#    parseFunc< temp.main.parseFunc
  }

  renderObj.20 = IMGTEXT
  renderObj.20 {


    text < tt_content.text.default
    imgList.field = image
    textPos.field = imageorient
    imgPath = uploads/pics/
    imgObjNum = 1
    1 {
      file.import.current = 1
      file.width.field = imagewidth
      imageLinkWrap = 1
      imageLinkWrap {
        bodyTag = <BODY bgColor=black>
        wrap = <A href="javascript:close();"> | </A>
        width = 800m
        height = 600m
        JSwindow = 1
        JSwindow.newWindow = 1
        JSwindow.expand = 0,20
      }
    }

    maxW = 400
    maxWInText = 140
    cols.field = imagecols
    border.field = imageborder
    caption {
      1 = TEXT
      1.field = imagecaption
      1.wrap = <font size="1"> |</font>
    }
    borderThick = 2
    colSpace = 10
    rowSpace = 10
    textMargin = 10
  }
#  20 = HTML
#  20.value = <br>

}

Allerdings habe ich damit ein paar Probleme.

  • Die Links hinter den Bildern (TExt mit Bild) werden nicht übernommen

  • <p> Tags werden entfernt, obwohl ich in der parseFunc alles entsprechend eingestellt habe.

  • Ich kann durch die Reihenfolge renderObj.10, renderObj.20 usw. das Bild nicht unterhalb des Textes platzieren.

Siehst Du da vielleicht noch etwas fehlendes?