Zum Inhalt springen

Jedes Content-Elemente in eigene Tabelle - Probleme mit Link

Erstellt am 27. April 2005 · 7 Antworten · letzte Antwort am 27. April 2005

Tags: Inhaltselemente, Frage

woida ·

Hallo,
ich möchte jedes Content-Elemet in eine Tabelle legen.
Folgender TS-Code macht das auch so wie ich das will:

subparts{
    content-box < styles.content.get 
    content-box.stdWrap.required = 1 
    content-box.renderObj = COA 
    content-box.renderObj.10 = TEXT 
    content-box.renderObj.10 { 
      field = header
      wrap= <table border="1" class="contenttable"><tr><td>|</td></tr> 
    }
   content-box.renderObj.20 = TEXT 
   content-box.renderObj.20 { 
     field = bodytext 
     wrap =<tr><td>|</td></tr></table><p>&nbsp;</p> 
   }		 
}

ABER: Die Links funktionieren nicht mehr....
Was muß ich an dem Code ändern?
Auch nach langer Suche hab ich nichts dazu gefunden. Vielleicht könnt ihr mir helfen?

woida ·

Ja, Danke!

So habe ich auch angefangen. Aber mein Ziel ist es, den Titel in der ersten Zeile der Tabelle darzustellen und den Inhalt in der zweiten Zeile.
Aber bei deiner Lösung wird ja nur ein Rahmen um das ganze Element gelegt.

Das Problem gabs schon mehrmals:
z.b.: #5376
oder
#21558, hier hatten sie das gleiche Problem: die Links funktionieren nicht.

Vielleicht eine Idee, wie ich deinen oder meinen Code abändern kann?

nevyn ·

Ok hier meine idee zu deinem Problem 🙂 Ich würde mal das ding in 2 brocken aufspalten.
1) tabelle öffnen und den header in die erste Zeile bringen würde ich über den stdheader machen.
2) jedes content element in eine zeile und tabelle schliessen ..
nun zum code
Foldender code sollte den header so umformatieren dass du deine erste zeile hast

lib.stdheader.3=TEXT
lib.stdheader.3.value=<table border="1" class="contenttable"><tr><td>
lib.stdheader.20=TEXT
lib.stdheader.20.value=</td></tr>

hier der zweite teil, welches die content elemente in die 2. Zeile bringt

subparts{
content-box < styles.content.getRight
content-box.renderObj.stdWrap.wrap=<tr><td>|</td></tr></table><p>&nbsp;</p>
}

Lass mich bitte wissen obs geklappt hat..

Grüsse helmuth

woida ·

funktioniert nicht ganz,....

lib.stdheader.3=TEXT 
lib.stdheader.3.value=<table border="1" class="contenttable2"><tr><td> 
lib.stdheader.20=TEXT 
lib.stdheader.20.value=</td></tr><tr><td>

und

content-box.renderObj.stdWrap.wrap=|</td></tr></table><p>&nbsp;</p>

tuts. Das hatte ich auch schon ....
Aber mal wieder ein ABER:
Ich nutze die Extension tx_rlmptmplselector_pi1. Und somit habe ich meinen ganzen Typo Script-Code in einem Setup.
Für die 2 Templates, die ich nutze habe ich 2 verschiedene Marker:
content-box [da will ich die Tabellen] und
content [hier keine Tabellen]

Wenn ich jetzt deine Lösung verwende, werden natürlich auch die Inhalte des Markters "content" gewrapt. Das will ich ja nicht. So bin ich ja auf den Code zu Beginn meines Threads gekommen. Aber da gehen ja die Links nicht....

Trotzdem vielen Dank für deine bisherige Hilfe.

nevyn ·

Ok diese letzte tatsache mit den templates war mir nicht bekannt 🙂
Also im moment fällt mir nicht ein wie ich meinen code hinbiegen könnte dass er für dich funktioniert. Aber ich hab was damit dein code funktioniert.
Wie bereits erwähnt, werden die die Links nicht erstellt ,da die parseFunc die Links erstellt fehlt. Also kopieren wir uns diese ganz einfach aus tt_content und schon läufts 🙂

subparts{
    content-box < styles.content.get
    content-box.stdWrap.required = 1
    content-box.renderObj = COA
    content-box.renderObj.10 = TEXT
    content-box.renderObj.10 {
      field = header
      wrap= <table border="1" class="contenttable"><tr><td>|</td></tr>
    }
   content-box.renderObj.20 = TEXT
      content-box.renderObj.20.parseFunc < tt_content.text.20.parseFunc
   content-box.renderObj.20 {

     field = bodytext
     wrap =<tr><td>|</td></tr></table><p>&nbsp;</p>
   }      
}

Grüsse HElmuth