Hallo,
ich nutze TemplaVoila. Mit Hilfe des Dokumentes "Futuristic Template Building" habe ich mich in TemplaVoila eingearbeitet.
Ich habe ja grundsätzlich verstanden, wie ich das Mapping zwischen HTML-Vorlage und Content-Elementen herstelle, aber so ganz ist der Groschen noch nicht gefallen, was denn nun wirklich eine DataStructure (DS) und ein Template-Object (TO) ist und wie das ganze intern funktioniert.
Ich beisse nun deshalb gerade die Zähne an folgendem aus: ich habe über das Tutorial eine HTML-Vorlage eingebunden, bei der ich 2 Contentspalten zur Verfügung habe. Ich möchte meinen Redakteuren nun wahlweise auch ein Template zur Verfügung stellen, bei dem es nur eine große Template-Spalte gibt.
Wie mache ich das am geschicktesten? Muss ich dafür eine komplett neue DS anlegen? Oder setze ich auf die vorhandene "DS" auf und lege ein zusätzliches "TO" an mit der einspaltgen HTML-Vorlage?
Letzteres ist schon einmal schiefgelaufen: plötzlich fehlte auch beim 2-spaltigen Layout die 3. Spalte...
Kann mir jemand etwas Licht ins Dunkel bringen?
Viele Dank und Gruß
Markus
hallo,
also vereinfacht gesagt speichert die DS (=Datenstruktur) die Felder, die es für die Seite oder das Content Element (FCE) gibt und das TO (=Template Objekt) speichert die Information, auf welches HTML Element oder Attribut diese Felder gemapped werden.
Es gibt verschiedene Varianten Dein Problem zu lösen. Ich kann Dir nur meine Arbeitsweise mitteilen, man ist da recht flexibel.
Ein zweites TO lege ich für eine DS lege ich in der Regel nur an, wenn ich für die selbe Kombination von Feldern einfach eine andere HTML Struktur brauche. Z.B. zwei Contentbereich einmal horizotnal und einmal vertikal getrennt. In dem Fall mache ich es so, dass ich auf den Sysfolder mit dem TV Modul gehe. Dort gibt es ja dann den Button neues TO erstellen. Dieses muß dann neu gemapped werden.
Vor dem mappen übernehme ich aber nicht die vorhandenen Werte, sondern Klicke links den Button zum Restten. Ich glaube, dass das ein kleiner bug ist? Wenn man einfach mit dem vorgegebenen Mapping weitermacht, überschreibt man das andere TO. Ist mir jedenfalls ein paar mal passiert und ich resette jetzt immer und mappe alles neu.
Ob Du jetzt nur ein neues TO oder gleich DS/TO anlegst ist also Deine freie Entscheidung.
Um es an dieser Stelle noch zu erwähnen, Du kannst in einem TO auch die DS verändern. Dafür gibt es das Feld 'Local Processing'.
Stell Dir vor, Du hast in der DS ein Feld vom Typ Textfeld. Jetzt legst Du zu der selben DS ein zweites TO an. Mit dem richtigen XML Schnipsel in 'Local Processing' kannst Du aus dem Textfeld ein RTE Feld machen, dass dann für das zweite Tempalte gilt.
Du siehst also, dass man einige Möglichkeiten hat, Probleme zu lösen.
Am Ende muß es halt übersichtlich und wartbar sein. Nicht zuviele Datenstrukturen erstellen aber auch nicht 100 Spezialfälle mit einem Template erschlagen wollen.
viel Glück.
Hallo Peter,
danke für die schnelle Antwort.
Die grundlegende Bedeutung von DS und TO ist mir mittlerweile klar.
Ich habe nun die vorhandene DS einfach kopiert und die 2. Contentspalte rausgeworfen und dann ein neues TO für das Template mit 1 Content-Spalte angelegt.
Einziger Schönheitsfehler: der Redakteur muss nun zwei Einstellungen vornehmen, um vom 2spaltigen zum 1spaltigen Layout zu wechseln: einmal muss er unter "Seitenvorlagenstruktur" die DS auswählen und dann im Feld "Vorlagen-Design" dann nochmal das TO.
Irgendwie etwas umständlich für diesen Fall. Kann man nicht pro DS ein TO als Default setzen, so dass bei Auswahl einer DS automatisch das Default-TO der zugehörigen DS ausgewählt wird?
Danke & Gruß
Markus
P.S.: das Zerschießen der DS ist mir natürlich prompt auch passiert... Ich frage mich manchmal, wieso das so kompliziert gemacht wurde... Aber dafür ist man natürlich flexibel für alle möglichen Einsatzfälle...
Eigentlich ist ja ein TO das default. Vielleicht liegt es daran, dass Du die DS kopiert hast?
Wenn es nur um die eine Spalte geht, könntest Du natürlich auch die Variante 1 DS - 2 TOs implementieren.