Zum Inhalt springen

Design abhängig von header_layout

Erstellt am 23. Januar 2007 · 4 Antworten · letzte Antwort am 23. Januar 2007

Tags: Inhaltselemente, Frage

ckteebe ·

Hi Leute,

erstmal Hallo. Freut mich, dass ich Teil dieser Community
sein darf.

Ich bin zwar schon lange Programmierer (auch im Webbereich)
aber mit der Syntax von Typo3 tu ich mich als absoluter
Anfänger doch noch etwas schwer. Liegt wohl auch daran, dass
ich ein wenig unter Zeitdruck stehe.

Meine Frage (wie gesagt ich bin absoluter Typo3-Anfänger):

Ich habe ein HTML-Templates in dem ich ein Platzhalter namens
###RIGHT_CONTENTBOXES### eingebaut habe. In diesem Platzhalter
sollen Infoboxen erscheine, die man über die rechte Spalte
der Seite (ID = 25) befüllen kann. Also Alles was der Redakteur
eingibt (select.pidInList = 25}. Zur Auswahl stehen reine Texte
und Text/Bilder-Felder.

Die reinen Texte Bilden sind die mit einer Grafik hinterlegten
Boxüberschriften. Der Bereich darunter (Text/Bilder-Felder)
ist grau hinterlegt. Die fertigen Boxen sollen einfach
unter einander (<tr><td>|</td></tr>) angezeigt werden.

Das hab mich mit wenig Mühe fast auch so hinbekommen.
Allerdings will ich nun anschließend die Zellen der Tabelle
je nach header_layout wrappen, um die Layouts einzufügen.
Also den Textfelder mit CSS die Hintergrundgrafik geben und
den anderen Felder den grauen Hintergrund.

Meine Vorstellung war/ist, dass man die Datentabelle
innerhalb der Pagemarks aufbaut und nach Abschluss der Marks
mit entsprechenden Designs versieht.

Hier der Code mit dem ich die Daten aus der DB hole:

# Default PAGE object:
page = PAGE
page {

	# PAGE BASICS
	bodyTag = <body>
	stylesheet = fileadmin/style.css

	# Designvorlage
	10 = TEMPLATE
	10.template = FILE
	10.template.file = fileadmin/vorlage.html
	10.workOnSubpart = DOKUMENT

	10.marks {

		tmpBox = CONTENT
		tmpBox < styles.content.getRight
		tmpBox {

		       select { 
                                pidInList = 25 
                       }
		}
          }
}

Bitte gebt mir ein kleines, aber leicht verständliches
Tutorial, dass mir hilft meine Kopfschmerzen und meine
Blockade zu lösen.

Ganz ganz lieben Dank, Sascha

ckteebe ·

Hallo zusammen,

Problem gelöst.
Für die jenigen die es interessiert wie man auf Basis des Layouts Inhalte
der rechten Spalte mit mehreren Designs darstellt... hier ist der Code:

Sorry, dass es nicht eingerückt ist, aber sonst hätte es nicht ganz gepasst.

# Default PAGE object:
page = PAGE
page {

# PAGE BASICS
bodyTag = <body>
stylesheet = fileadmin/style.css

# Designvorlage
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/vorlage.html
10.workOnSubpart = DOKUMENT
10.marks  {
# Initialisierung des Platzhaltes RIGHT_CONTENTBOXES als CONTENT
RIGHT_CONTENTBOXES = CONTENT
RIGHT_CONTENTBOXES {
# Bindung mit Datenbanktabelle tt_content     
table = tt_content
# Fetch aus der Datenbank
select {
# Nur Spalteninhalte von Rechts (2)
where = colPos = 2
# Sortieren nach Anordung
orderBy = sorting
# Quelle = Site mit ID=25
pidInList = 25
}
# Renderobjekt mit Vererbung von tt_content
renderObj < tt_content
# Fallunterscheidung für Layout
renderObj = CASE
renderObj {
# Schlüssel für Case (Layouteintrag in tt_content)
key.field = header_layout
# Standardverhalten
default = COA
default {
# Aufruf des Textobjekts 10
10 = TEXT
# Bindung an Datenbankfeld header aus tt_content
10.field = header
# Designdarstellung via Wrapping für normale Texte (0)
10.wrap = <tr><td>Designvariante bei normaler Text|</td></tr>                   
}
# Verhalten bei Layout 1
1 = COA
1 {
10 = TEXT
10.field = header
# Designdarstellung via Wrapping für Layout 1 (1)
10.wrap = <tr><td>Designvariante bei Layout 1|</td></tr>
}
# Verhalten bei Layout 2 (hier mit Textpic-Objekt)
2 = COA
2 {
20 = TEXT
# Bindung an Datenbankfeld bodytext aus tt_content
20.field = bodytext
# Designdarstellung via Wrapping für Layout 2 (2)
20.wrap = <tr><td>Designvariante bei Layout 2|</td></tr>
# Aufruf des Imageobjekts 30
30 = IMAGE
# Import aus Verzeichnis
30.file {
import = uploads/pics/
import.field = image
import.listNum = 0
width = imagewidth
}
# Designdarstellung via Wrapping für Layout 2 (hier Bild) (2)
30.wrap = <tr><td>Designvariante (hier mit Bild aus Textpic-Objekt) bei Layout 2|</td></tr>
}
}
}
}
}

Gruß Sascha