Mir fehlt da irgendwie der Durchblick, aber es klappt bei mir einfach nie!
Ich möchte folgendes tun:
Alle Seiten haben das selbe Template. Nur die Startseite hat ein eigenes.
Weiss wer wie man das machen kann?
Fintan
Mir fehlt da irgendwie der Durchblick, aber es klappt bei mir einfach nie!
Ich möchte folgendes tun:
Alle Seiten haben das selbe Template. Nur die Startseite hat ein eigenes.
Weiss wer wie man das machen kann?
Fintan
Das kann man über eine Bedingung lösen:
page.10.template.file = fileadmin/template_normal.html
[globalVar = TSFE:id=1234]
page.10.template.file = fileadmin/template_seite1234.html
[global]
Dabei wird bei id=1234 die Page-Id der Startseite eingetragen.
Jochen Weiland
Wo muss ich das genau einfügen?
ich habe bis jetzt das:
page.stylesheet = fileadmin/tuerkei/www/style.css
# Configuring the Auto-Parser for main template:
plugin.tx_automaketemplate_pi1 {
# Read the template file:
content = FILE
content.file = fileadmin/tuerkei/www/tpl.html
# Here we define which elements in the HTML that
# should be wrapped in subpart-comments:
elements {
BODY.all = 1
BODY.all.subpartMarker = DOCUMENT_BODY
HEAD.all = 1
HEAD.all.subpartMarker = DOCUMENT_HEADER
HEAD.rmTagSections = title
TD.all = 1
}
# Prefix all relative paths with this value:
relPathPrefix = fileadmin/tuerkei/www/
}
# Menu NAVIUP 1 cObject
temp.naviup = HMENU
# First level menu-object, textual
temp.naviup.1 = TMENU
# Menu 1 cObject
temp.menu_1 = HMENU
# First level menu-object, textual
temp.menu_1.1 = TMENU
temp.menu_1.1 {
allWrap = <img src="fileadmin/tuerkei/www/bilder/tplpic/pfeildoppelt.gif" width="20" height="15" align="middle"> | <img src="fileadmin/tuerkei/www/bilder/tplpic/pfeildoppelt.gif" width="20" height="15" align="middle">
# Normal state properties
NO.allWrap = <img src="fileadmin/tuerkei/www/bilder/tplpic/pfeildoppelt.gif" width="20" height="15" align="middle"> | <img src="fileadmin/tuerkei/www/bilder/tplpic/punkt_gruen.jpg" width="150" height="1" vspace="0"> | <div class="menu1-level1-no"></div>
# Enable active state and set properties:
ACT = 1
ACT.allWrap = <img src="fileadmin/tuerkei/www/bilder/tplpic/pfeildoppelt.gif" width="20" height="15" align="middle"> | <img src="fileadmin/tuerkei/www/bilder/tplpic/punkt_gruen.jpg" width="150" height="1" vspace="0"> | <div class="menu1-level1-act"></div>
}
# Second level menu-object, textual
temp.menu_1.2 = TMENU
temp.menu_1.2 {
# Normal state properties
NO.allWrap = <img src="fileadmin/tuerkei/www/bilder/tplpic/punkt_trans.gif" width="20" height="15" align="middle"> | <img src="fileadmin/tuerkei/www/bilder/tplpic/punkt_gruen.jpg" width="150" height="1"> | <div class="menu1-level2-no"></div>
# Enable active state and set properties:
ACT = 1
ACT.allWrap = <img src="fileadmin/tuerkei/www/bilder/tplpic/punkt_trans.gif" width="20" height="15" align="middle"> | <img src="fileadmin/tuerkei/www/bilder/tplpic/punkt_gruen.jpg" width="150" height="1"> | <div class="menu1-level2-act"></div>
}
# Main TEMPLATE cObject for the BODY
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
# Feeding the content from the Auto-parser to the TEMPLATE cObject:
template =< plugin.tx_automaketemplate_pi1
# Select only the content between the <body>-tags
workOnSubpart = DOCUMENT_BODY
# Substitute the ###menu_1### subpart with dynamic menu:
subparts.menu_1 < temp.menu_1
# Substitute the ###content### subpart with some example content:
subparts.content < styles.content.get
}
# Main TEMPLATE cObject for the HEAD
temp.headTemplate = TEMPLATE
temp.headTemplate {
# Feeding the content from the Auto-parser to the TEMPLATE cObject:
template =< plugin.tx_automaketemplate_pi1
# Select only the content between the <head>-tags
workOnSubpart = DOCUMENT_HEADER
}
# Default PAGE object:
page = PAGE
page.typeNum = 0
# Copying the content from TEMPLATE for <body>-section:
page.10 < temp.mainTemplate
# Copying the content from TEMPLATE for <head>-section:
page.headerData.10 < temp.headTemplate
tt_content.image.1.imageLinkWrap.bodyTag = <BODY bgColor=white>
tt_content.image.1.imageLinkWrap.JSwindow.newWindow = 1
ich weiss, ist ein bischen ein Code wo hin und her gebastelt wurde 😃
Danke für deine Hilfe
Fintan
jweiland schriebDas kann man über eine Bedingung lösen:
page.10.template.file = fileadmin/template_normal.html
[globalVar = TSFE:id=1234]
page.10.template.file = fileadmin/template_seite1234.html
[global]Dabei wird bei id=1234 die Page-Id der Startseite eingetragen.
Das ist sehr elegant! Aber spricht irgendetwas gegen die Variante, im root-Template unter dem Punkt "Template on next Level" einfach ein anderes Template einzutragen?
Ich frage, weil mir das im Gegensatz zu manchen anderen Typo3 Geschichten verdächtig einfach vorgekommen ist...
chronistin
kannst du mir das genauer erklären?
danke Fintan
Generell finde ich die Idee nicht so prickelnd hier komplette Listings zu posten und zu erwarten dass sich andere durch den Code wühlen. Am ehesten lernt man Typoscript, wenn man versucht den Code zu verstehen.
Ich würde mal vermuten (ungetestet), dass der Code wie folgt umgeschrieben werden muss (die Conditions müssen sich ausserhalb von {...} befinden):
plugin.tx_automaketemplate_pi1.content = FILE
plugin.tx_automaketemplate_pi1.content.file = fileadmin/tuerkei/www/tpl.html
[globalVar = TSFE:id=1234]
plugin.tx_automaketemplate_pi1.content.file = fileadmin/tuerkei/www/tpl2.html
[global]
plugin.tx_automaketemplate_pi1 {
# Here we define which elements in the HTML that
# should be wrapped in subpart-comments:
elements {
BODY.all = 1
BODY.all.subpartMarker = DOCUMENT_BODY
HEAD.all = 1
HEAD.all.subpartMarker = DOCUMENT_HEADER
HEAD.rmTagSections = title
TD.all = 1
}
# Prefix all relative paths with this value:
relPathPrefix = fileadmin/tuerkei/www/
}
# Menu NAVIUP 1 cObject
Jochen Weiland
Fintan schriebchronistin
kannst du mir das genauer erklären?
Unter Vorbehalt, weil es möglicherweise eine falsche Vorgehensweise beschreibt - bin ja auch erst kurz dabei. Aber vielleicht kann sich ja jemand von den Profis wertend äußern... Also:
Ich habe zuerst das Template für die erste Seite erstellt. Dann für die erste der Unterseiten das zweite Template erstellt, das für alle anderen Seiten gelten soll. Und dann im Template der ersten Seite unter dem Punkt "Template on next level:" das Template der zweiten Seite eingetragen.
Es funktioniert bei mir problemlos, aber ich weiß wirklich nicht, ob das die _richtige_ Vorgehensweise ist.
@chronistin:
Yepp, das müsste auch gehen und ist noch eleganter. Die von mir beschriebene Methode ist etwas allgemeiner, da man sie generell auf einzelne Seiten (und nicht nur auf einen Level) anwenden kann.
Jochen Weiland
@Jochen Weiland
Danke ich habe deine Version ausprobiert und Sie funktioniert sehr gut 🙂
Sorry das ich den ganzen Code rein kopiert habe. Ich verstehe den Code auch. Aber ich bin mir manchmal nicht sicher und darum dachte ich es sei besser, das ganze rein zu kopieren! War also nicht unüberdacht!
@chronistin
Auch dir danke! Probiere ich auch noch aus 🙂
Fintan
jweiland schriebDie von mir beschriebene Methode ist etwas allgemeiner, da man sie generell auf einzelne Seiten (und nicht nur auf einen Level) anwenden kann.
Ja, das könnte auch mal praktisch sein.