Zum Inhalt springen

RenderObj bei Titel Rest normal über CONTENT aber wie?

Erstellt am 13. Dezember 2006 · 10 Antworten · letzte Antwort am 13. Dezember 2006

Tags: Inhaltselemente, Frage

moviefanCH ·

Ich habe mich jetzt mit dem RenderObj herumschlagen müssen, wegen dem Zugriff auf jeden einzelnen Datensatz. Das Problem ist nur das ich bei folgendem Code nur den Bodytext erhalte auch wenn ich zum Beispiel "Text mit Bild" gewählt habe:

marks.COR = CONTENT
	marks.COR {
		table = tt_content
		select.orderBy = sorting
		select.where = colPos = 3
       
                renderObj = COA
                renderObj {
                        stdWrap.wrap = <table width="188" cellspacing="0" cellpadding="0"><tr><td><img src="fileadmin/jobsolution_tsrhdr1.gif" alt="" /></td></tr> | <tr><td><img src="fileadmin/jobsolution_tsrftr1.gif" alt="" /></td></tr></table>
                        wrap = <tr><td width="188" bgcolor="#D8E4EF" class="jobsolution_cor_teaser"> | </td></tr>
                        5 = TEXT
                        5.field = header
                        5.wrap = <h3> | </h3>
                        6 = TEXT
                        6.field = bodytext
                        6.wrap = <div class="jobsolution_cor_teaser"> | </div>
                }
        }

Die Frage ist wie ich nur den Titel speziell formatieren kann und der Rest normal über ###COR### in jeglicher Form ausgegeben wird? Besten Dank.

just2b ·

Hallo,

kenn mich leider nicht ganz aus. Gehts jetz um den Titel oder den Bodytext? Zweiteres bekommst du formatiert mittels

6.parseFunc < tt_content.text.20.parseFunc

georg

moviefanCH ·
just2b schrieb

Hallo,

kenn mich leider nicht ganz aus. Gehts jetz um den Titel oder den Bodytext? Zweiteres bekommst du formatiert mittels

6.parseFunc < tt_content.text.20.parseFunc

georg

Das könnte es sein wo genau müsste das den stehen, habe noch etwas mit der Reihenfolge der Befehle mühe oder geht das irgendwo so in der Art von:

renderObj = COA
                renderObj {
                        stdWrap.wrap = <table width="188" cellspacing="0" cellpadding="0"><tr><td><img src="fileadmin/jobsolution_tsrhdr1.gif" /></td></tr> | <tr><td><img src="fileadmin/jobsolution_tsrftr1.gif" /></td></tr></table>
                        wrap = <tr><td width="188" bgcolor="#D8E4EF" class="jobsolution_cor_teaser"> | </td></tr>
                        5 = TEXT
                        5.field = header
                        5.wrap = <h3> | </h3>
                        6 = TEXT
                        6.parseFunc < tt_content.text.20.parseFunc <--- HIER EINGEFUEGT! 
                        6.field = bodytext
                        6.wrap = <div class="jobsolution_cor_teaser"> | </div>
                }
moviefanCH ·

Tut es aber leider nicht, zur allgemeinen Verständlichkeit:

Ich habe in der Rechten Spalte Inhalte die jeweils pro Datensatz in einem Abgerundeten Quadrat erscheinen (farbig), also in der Form:

------------
|-------------|
|-------------|
|-------------|
------------

------------
|-------------|
|-------------|
|-------------|
------------

Deshalb muss ich pro Datensatz ein Wrap machen können, soviel wie ich herausgefunden habe geht das ja nur mit dem renderObj wobei ich dort eben die Felder angeben muss die ausgegeben werden sollen. Für die Überschrift macht das auch Sinn aber nicht für den Body der Kästchen, diese werden leider nicht wie gewünscht normal geparst sondern nur als reinen Text (field = bodytext) angezeigt. Wenn ich "Text mit Bild" als Inhaltstyp wähle wird der Text schön angezeigt das Bild aber nicht.

moviefanCH ·

Um die Sache noch leichter zu machen, ich möchte um jede Ausgabe folgenden Wrap haben:

<table width="188" cellspacing="0" cellpadding="0">
   <tr>
       <td><img src="header.gif" /></td>
   </tr>
   --- hier kommt der Inhalt aus tt_content ---       
   <tr>
       <td><img src="footer.gif" /></td>
   </tr>
</table>

So müsste ich nur das Wraping pro Datensatz angeben können, wäre das möglich? Ich habe nur das renderObj verwendet weil es für mich die einzige Möglichkeit schien auf die einzelnen Datensätze zuzugreifen.

moviefanCH ·
just2b schrieb

um das Bild musst du dich auch selbst dann kümmern! cObj IMAGE

georg

Das kann ja wohl kaum sein, ich verwende die rechte Spalte schon seit Ewigkeiten in der Standardform und es wird alles schön nach Inhaltstyp geparst:

marks.COR = CONTENT	
marks.COR {
	table = tt_content
	select.orderBy = sorting
	select.where = colPos = 3
}
just2b ·

Äpfel und Birnen, jetzt hast du renderObj!

du könntest das auch anders machen:
Setup

tt_content.stdWrap.wrap = <div class="ce">|</div>

damit erhältst du ein div um ein jedes contentelement und dann machst du den rest einfach per css

#rechts ce {...}

georg

moviefanCH ·
just2b schrieb

Äpfel und Birnen, jetzt hast du renderObj!

Das ist ja meine Frage, brauche ich unbedingt renderObj um ein Wrap bei jedem Datensatz machen zu können? Weil ich will wie gesagt weder an der Überschrift noch am Inhalt etwas ändern nur das Wrapping um den Datensatz möchte ich definieren können.

Sorry das ich hier Äpfel mit Birnen verglichen habe, aber falls ich das mit renderObj nicht so lösen kann das Typo3 das Rendering nach Inhaltstyp nicht selbst übernimmt nützt mir das nicht wirklich viel!

d.​walter ·

Vielleicht hilft dir ja das hier weiter.

temp.CONTENT_LEFT = COA
     temp.CONTENT_LEFT {
     stdWrap.required = 1
     stdWrap.wrap = <div class="bg"><div class="ro"><div class="lo"><div class="ru"><div class="lu"><div class="inhalt"> |  </div></div></div></div></div></div>


2 = CONTENT
2 < styles.content.getLeft
2.select.orderBy = sorting

}

und hier das CSS

/* 
**  Daniel Walter
**  www.klassen-treffen.org 
**  
**  Festlegung der Boxen für alle Inhaltselemente
**
*/

.bg {background-color:#FFFFFF}

.ro {
	background:url("../../images/box_ro.gif") top right no-repeat;
	margin:0;
	padding:0;
}

.lo {
	background:url("../../images/box_lo.gif") top left no-repeat;
	margin:0;
	padding:0;
}

.ru {
	background:url("../../images/box_ru.gif") bottom right no-repeat;
	margin:0;
	padding:0;

}

.lu {
	background:url("../../images/box_lu.gif") bottom left no-repeat;
	margin: 0;
	padding:0;
}

.inhalt {
	margin:0;
	padding:2em 2em 2em 2em;
	clear;
}

.inhalt-nav {
	margin:0;
	padding:2em 2.3em 2em 0em;
	height:100%;
}

.inhalt p {
	margin:0;
	padding:0;
}

Gruß

Daniel