Hallo liebe Kollegen,
habe hier eine Seite in der ich checken will:
Gibt es "links", "normal" und "rechts" Inhalt -> 3-spaltige Layout
Gibt es "normal" und "rechts" Inhalt -> 2-spaltige Layout
Gibt es nur "normal" Inhalt -> 1-spaltiges Layout
Raffe die if-Anweisungen aber nich wirklich. Die if führt das was darunter steht aus wenn Anweisung erfüllt, oder? In dem Fall wenn True (3-spaltig) bzw. wenn True & False (2-spaltig).
Aber es werden mir (nach 2 Stunden rumfriemlen nur mit den if-gedöns scheinbar willkürlich 🙂 ) immer irgendwelche Layouts nicht oder zuviel angezeigt (Beim testen mit Inhalten in den entsprechenden Spalten).
Hier der TS Code für den content:
content = COA
content {
10 = COA
10 {
if {
isTrue.numRows = styles.content.getLeft
isTrue.numRows = styles.content.getRight
}
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/template/content/3_spaltig.html
marks {
content_1 = CONTENT
content_1 {
table = tt_content
select.where = colPos = 1
}
content_2 = CONTENT
content_2 {
table = tt_content
select.where = colPos = 0
}
content_3 = CONTENT
content_3 {
table = tt_content
select.where = colPos = 2
}
}
}
}
20 = COA
20 {
if {
isFalse.numRows = styles.content.getLeft
isTrue.numRows = styles.content.getRight
}
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/template/content/2_spaltig.html
marks {
content_1 = CONTENT
content_1 {
table = tt_content
select.where = colPos = 0
}
content_2 = CONTENT
content_2 {
table = tt_content
select.where = colPos = 2
}
}
}
}
30 = COA
30 {
if {
isFalse.numRows = styles.content.getRight
isFalse.numRows = styles.content.getLeft
}
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/template/content/1_spaltig.html
10.marks {
content_1 = CONTENT
content_1 {
table = tt_content
select.where = colPos = 0
}
}
}
}
Vll. schaut ihr euch mal die if-Anweisungen an. Hab da jetzt ewig dran rumgebastelt und hin und her gemacht. Aber komme nicht weiter. Bei google stehen ebenfalls nur änhliche Code-Schnipsel aber keine richtige Erklärung für dumme wie mich 🙂
Grüße,
caom
Edit:
Bzw. was ich beim testen bemerke (ist ja auch klar) das gilt für die Inhalte der ganze Seite. Was mache ich denn, wenn ich auf derselben Seite oben drei spalten möchte, darunter eine spalte und darunter wieder zwei spalten?
1. 2x if.isTrue untereinander überschreibt sich selbst
2. nicht = sondern < bei styles.content.getLeft (etc...)
3. du musst if verschachteln, wenn du zwei if Anweisungen mit & verknüpfen willst
Alles klar, vielen Dank!
Es funkt nun soweit.
Aber wie erwartet habe ich dennoch keine möglichkeit auf einer Seite ein dreispaltiges und darunter z.B. ein zweispaltiges Layout zu erstellen.
Wie kann ich denn sowas anstellen?
Dank und Gruß,
caom
Hallo,
leider benutzt Du kein TemplaVoila. Damit könntest Du relativ einfach die Spaltigkeit (1-, 2-, 3-, 4- usw. Spalten) alleine durch FlexibleContentElemtns (FCE) und CSS sehr elegant lösen! Und damit tolle Layouts produzieren.
Wenn Du umsteigst, sag Bescheid, dann kann ich Dir helfen.
Also mit TemplaVoila ist das möglich.
Das kommt als übernächstes Kapitel in meinem Buch 🙂
Aber da ich das in jedem Fall möchte (unterschiedliche Layouts auf einer Seite) werde ich direkt mal die entsprechenden Seiten aufschlagen und mich ran setzen.
Hast du zufällig Skype, falls das Buch (oder eben ich) versagt =)?
Ansonsten würde ich mich wieder hier melden.
Edit:
Also es hat soweit alles gut funktioniert. Alles schön "gemappt". Bis auf einen <div>-Bereich (content_picture) da sagt er mir nach dem Mappen "! No Content found". Bei allen anderen ist ein Häkchen und es funktioniert.
Woran wird das liegen?
Edit #2:
Ahh, ich doof. content_picture lag in dem bereits gemappten "content".
Flott geändert -> funkt.
So, da nu alles soweit wie vorher läuft schau ich mir das mit den Inhalten mal an.
Und da alle guten Dinge 3 sind:
Edit #3:
Also für mich scheint TemplaVoila jetzt keine weitere Layoutmöglichkeit in diesen Bereichen zu erbringen. Sind diese "FCEs" noch zusätzliche erweiterungen oder sind die in TV schon enthalten?
Verliere gerade den Durch- und Überblick.
Übrigens gefällt mir TemplaVoila soweit ganz gut 🙂
Hi,
Du benutzt die FCEs für die Spaltigkeit. D.h. Du hast für 2-Spalten ein FCE und für 3-Spalten ein FC. Ein 4-spaltiges Layout kannst Du durch Verschachtelung von 2 zwei-spaltigen FCEs erreichen.
Beispiel 2 Spalten.
HTML-Template
<div class="2column">
<div class="leftColumn">
</div>
<div class="rightColumn">
</div>
<div class="clearer">
</div>
</div>
Im CSS schreibst Du zB.:
div.2column { width=800px; float:left;}
div.leftColumn {width=400px; float:left;}
div.rightColumn {width=400px; float:Right;}
div.clearer {clear: both;}
In TV mappst Du dann die leeren DIVs und erhälst somit ein Layoutgerüst für ein 2-Spalten-Layout (ein umschließendes verpackendes DIV 2column und die beiden Spalten leftColumns, rightColumn). Und speicherst es in TV als FCE (template type: content element).
Du fügst dann die FCEs als Inhaltselemnte ein, und den eigentlichen Content dann sozusagen in diese Hilfs-DIVs. Evtl. muss Du das CSS anpassen (em statt px bei relativen Angaben oder Ränder zwischen den Spalten hinzufügen).
Ich hoffe, ich konnte dir kurz&knapp die Idee vermitteln. Falls Du noch Fragen hast, melde Dich;-)
Ja, danke!
Ich hatte diese FCE einfach nicht gefunden.
Hab's jetzt aber endlich. Geile sache.
Kenne mich übrigens sehr gut mit CSS aus 🙂
Aber danke für die Code Schnipsel. Wobei es "width:" heißt, nicht "width=".
Wie ist das denn, wenn ich jetzt noch den Inhalt der ersten Box anders aussehen lassen möchte als den zweiten?
Einfach per CSS?!
.leftColumn h1 { ... ?
Oder kann ich jetzt dem Inhalt den ich in die linke Spalte packe sagen: Nimm dieses Layout und der rechten Spalte nimm das andere Layout? Wäre natürlich ziemlich geil 🙂 Möchte nämlich unterschiedlich Formatierte "Boxen" in den Spalten haben.
Edit:
Ein Box-Style soll z.B. so aussehen:
http://webshare.kleaserarts.com/downloads/kleaserarts/1.png
Ein anderer Box-Style z.B. so:
http://webshare.kleaserarts.com/downloads/kleaserarts/2.png
Wie kann ich das umsetzen?
Speziell Box-Style #1?
Wie bekomme ich Headline, Einleitungstext und Bodytext so untereinander - mit welchem Inhaltselement?
Box-Style #2 wäre mir klar.
Edit:
Also ich habe nun das Ergebnis genau so wie ich es mir vorgestellt habe.
Wahrscheinlich eine sehr umständliche vorgehensweise. Habe mir für alle möglichen Objekte neue FCEs angelegt und diese eben mit unterschiedlichen wrap-divs umschlossen, sodass ich die verschiedenen (gleichen) Inhalte unterschiedlich Formatieren kann. Ist das so gang und gebe?
Das Ergebnis kann sich hier angeschaut werden:
http://katypo.kleaserarts.com