Hiho!
Mal wieder eine Conditionfrage:
# Default PAGE object:
page = PAGE
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
# Linien Hack
[treelevel = 1]
page.headerData.90 = TEXT
page.headerData.90.value = <link rel="stylesheet" type="text/css" href="fileadmin/templates/css/right.css" />
[treelevel = 15]
page.headerData.90 = TEXT
page.headerData.90.value = <link rel="stylesheet" type="text/css" href="fileadmin/templates/css/left.css" />
[GLOBAL]
Aber es wird nix angezeigt.
Ich weiß auch nicht, ob ich die Condition wirklich verstanden hab. Meine Seitenstruktur sieht so aus:
+Root (UID = 0)
-+Band (UID = 1)
--+Mitglieder (UID = 3)
--+Instrumente (UID = 2)
-+Data (UID = 15)
--+Bilder (UID = 17)
--+Musik (UID = 16)
Bin für jeden Kommentar dankbar!
Greetz
crubble
Ne, hast du scheinbar nicht richtig verstanden...
Du kannst Conditions so verknüpfen mit || && and
ABer nicht Eine Condition in einer Condition.
Desweiteren setzt du wohl den treeLevel mit einer SeitenID gleich. treeLevel bezieht sich wie das Wort schon sagt auf eine Ebene des Seitenbaums. Damit kannst du also die einzelnen Navigationsebenen ansprechen. Bei treeLevel = 15 müsste dein Baum 15 Ebenen tief sein... Sorry, aber ich bezweifle das.
Wenn du auf bestimmten Seiten ein anderes CSS einsetzen willst, dann leg das einfach in den Seiten per extension-Template ab.
Du kannst auch mittels [globalVar = TSFE:id = 15] auf der Seite ein anderes CSS laden, oder eben ein zusätzliches
Hmm, das mit der verschachtelung hatte ich mir schon gedacht 🙂 aber das hab ich nur von einer Seite geklaut.
Das mit den Navigationsebenen dachte ich mir auch schon. Das meinte ich mit "Ich weiß auch nicht, ob ich die Condition wirklich verstanden hab."
Aber selbst wenn ich 0 und 1 verwende kommt nix. Ist aber auch nicht so wild. Ich werde es wohl so machen wie du vorschlägst. Danke!
Gruß
crubble
EDIT: Kann ich es irgendwie so einrichten, dass alle Seiten in einem Zweig die gleiche CSS dazu bekommen. Die CSS Sheets sollen sich je nach Zweig unterscheiden....
Erstmal würde ich ein CSS nicht per headerData einbinden, sondern mit includeCSS
Wenn sich dann pro Zweig ein anders CSS geladen werden soll, dann so:
page = PAGE
page {
includeCSS {
file1 = Pfad zum CSS
file1.media = screen
}
...
}
[treeLevel = EBENE]
page {
includeCSS {
file1 = Pfad zum anderen CSS
file1.media = screen
}
}
[global]
[treeLevel = NÄCHSTE EBENE]
page {
includeCSS {
file1 = Pfad zum nächsten CSS
file1.media = screen
}
}
[global]
Damit hast du erstmal das Standard CSS definiert, das genommen wird, wenn kein anderes definiert wurde.
In den Conditions muszst du dann die Passenden Ebenen einsetzen. Das CSS-File wird dann entsprechend deinen Angaben überschrieben.
Danke, aber es geht ein bischen an dem vorbei was ich will.
Ich will das das Sheet dazu geladen wird zum Standartsheet. Und ich will, dass es sich nicht pro Ebene ändert, sondern pro Zweig ändern. Da ich den falschen Weg eingeschlagen hatte mit den TreeLevel eingeschlagen ist das jetzt vielleicht ein falsches Topic dafür.
Wenn man mein Bsp aus dem 1. Post nimmt, dann will ich für den Zweig Band mit Unterseiten Mitglieder und Instrumente ein anderes Zusatzsheet wie für Data mit den Seiten Bilder und Musik.
War das verständlich?
Nicht vorschnell antworten, sondern eventuell 2 mal lesen und versuchen zu verstehen.
Versuch es doch einfach so. Wenn du das Stylesheet nicht austauschen willst, dann sollte schon irgendwo klar sein, dass man in der Condition nicht das file1 überschroeiben muss, sondern dann in der ersten Condition daraus file2 und aus der nächsten file3 wird.
Also so:
page = PAGE
page {
includeCSS {
file1 = Pfad zum CSS
file1.media = screen
}
...
}
[treeLevel = 1]
page {
includeCSS {
file2 = Pfad zum anderen CSS
file2.media = screen
}
}
[global]
[treeLevel = 2]
page {
includeCSS {
file2 >
file3 = Pfad zum nächsten CSS
file3.media = screen
}
}
[global]
In der zweiten Condition wird dann das file2 wieder gelöscht... uswusf
Bei TYPO3 muss einfach mal nen bischen Hirnschmalz tropfen... Durch Code klau lernt man nicht wirklich was.
Hmm, mag sein, dass ich dich falsch verstanden habe, aber irgendwie tut sich nix. Ich kann auch im Quelltext keine Veränderungen feststellen. Hab jetzt schon fleißig mit den Ebenennummern gespielt und so, aber irgendwie.....
# Default PAGE object:
page = PAGE
[treeLevel = 1]
page {
includeCSS {
file2 = fileadmin/templates/css/right.css
file2.media = screen
}
}
[global]
[treeLevel = 2]
page {
includeCSS {
file2 >
file3 = /fileadmin/templates/css/left.css
file3.media = screen
}
}
[global]
Das stimmt doch so, oder?
Ne...
1. wo ist dein Standard CSS geblieben?
2. was macht der Slash vor der fileadmin?
Ich habs gerade bei mir getestet und funktioniert wunderbar
Hast du die Conditions auch nicht in geschweiften Klammern stehen...?
Nope, ist nicht in geschweiften Klammern.
Der Slash ist ein Fehler. Der machts aber nicht aus, weil im Quelltext kein Sheet eingebunden wird.
Das Standartsheet kommt glaub ich über TemplaVoila. Ist das ein Problem?
EDIT: Jetzt geht's warum auch immmer.....
Aber das Prob ist, dass es nicht das macht was ich will 🙂
+Root
|-1. Abzweig
|--Unterzweig
|--Unterzweig
|--Unterzweig
|--Unterzweig
|-2. Abzweig
|--Unterzweig
|--Unterzweig
|--Unterzweig
1. und 2. Abzweig sind auf einem "Level" und bekommen jetzt das gleiche Sheet. Ich will aber das 1. und 2. Abzweig jeweils einschließlich seiner Unterzweige ein eigenes Sheet bekommt.
Ja, wäre schön gewesen, wenn du das vorhergesagt hättest.
Dann legs per extensiontemplate ab. Ich glaub dann bekommen die Unterseiten auch das Stylesheet
Hmm, da haben wir wohl aneinander vorbei geredet. Ich dachte das war nach meinem 3. Post klar.... o.O
Jep. Das hab ich jetzt auch rausgefunden! Aber trotzdem dank!