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
Hallo Georg,
für Seiten mit gänzlich anderem Layout ist das ein gutes Bespiel.
Jedoch möchte ich lediglich ein bestehendes Gerüst anhand eines
Parameters (header_layout) wrappen und diesem so nachträglich ein
Design verpassen.
Vielleicht hab Ihr ja noch ne andere Idee für mich.
Gruß Sascha
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
Hallo,
danke für die gute beschreibung der lösung!
georg