Zum Inhalt springen

Template nachträglich einfügen

Erstellt am 8. Juli 2004 · 8 Antworten · letzte Antwort am 21. Juli 2004

Tags: Frage

robertbb ·

Hallo - habe eine Typo3-Umgebung geerbt, in der nur auf einer einzigen Seite ein korrektes Template ist. Auf den anderen kommt die Meldung:

No template
There was no template on this page!
Create a template record first in order to edit constants!

Frage nur: Ich will ja nicht jedesmal eins schreiben, sondern das von der Seite nehmen, wo es stimmt. Wie kann ich das korrekte Template woanders (möglichst für alle Seiten auf einmal) übernehmen?

Vielen Dank!
Robert

TW ·

hi
unter
"click here to edit the whole template record"

auf der ersten seite deines typo3 dingens........

die option rootlevel aktivieren......

oder versuch mal darzustelln, screenshot oder so, wie die struktur des seitenbaumes ist

cu
thorsten

robertbb ·

Hab ich gemacht, schaut jetzt ganz vernünftig aus. Jetzt habe ich aber ein anderes Problem: Wohl aufgrund des neuen Templates wird vom Menü immer nur das angezeigt, was gerade in der aktuellen Ebene ist.
Vorher war's so, angenommen ich bin auf 3.1:

1.1
-2.1
-2.2
-2.3
--3.1
--3.2
1.2
1.3

Jetzt ist es so:
1.1
1.2
1.3

Wenn ich auf den ersten Eintrag klicke dann so:
2.1
2.2
2.3

Und wenn ich dann nochmal auf den dritten klicke nur noch so:
3.1
3.2

Das ist natürlich wahnsinnig unübersichtlich. Wo kann man das einstellen? Ich habe die Konstante "styles.hmenu.tu.entryLevel" gefunden und verändert, aber es hilft nichts. Gibt es noch eine ähnliche Konstante?

tomww ·

bevor hier das grosse Rätselraten einsetzt:
Es würde bestimmt helfen, wenn Du das eine Template hier mal posten köntest (bzw. auch einen Link zum Online-frontend falls vorhanden)

Tom

TW ·

seh ich genau so und mach das was du geändert hast in dieser "Konstante" rückgängig.

es hilft nichts, wenn du da probierst und nicht weisst was du da tust!

alsop gib mal code!

cu
thorsten

Unbekannter Benutzer ·

in diesem rahmen wäre ich für die einführung eines neuen begriffs, ähnlich wie stfw oder rtfm. und zwar stfc (show the *** code) ;-)
da haben die beiden leider recht. ohne tscript wird das hier wie topfschlagen und blinde kuh in kombination...

robertbb ·

OK, hier ist der komplette Setup-Code ...

# Prepare menu_1 cObject
temp.menu_1 = HMENU
temp.menu_1.entryLevel = 0
  # First level menu-object, textual
temp.menu_1.1 = TMENU
temp.menu_1.1.entryLevel = 0
temp.menu_1.1.expAll = yes
temp.menu_1.1 {
    # Normal state properties
  NO.allWrap = <div class="menu1-level1-no"> | </div>
    # Enable active state and set properties:
  ACT = 1
  ACT.allWrap = <div class="menu1-level1-act"> | </div>
}
  # Second level menu-object, textual
temp.menu_1.2 = TMENU
temp.menu_1.2.entryLevel = 0
temp.menu_1.2 {
    # Normal state properties
  NO.allWrap = <div class="menu1-level2-no"> | </div>
    # Enable active state and set properties:
  ACT = 1
  ACT.allWrap = <div class="menu1-level2-act"> | </div>
}
  # Third level menu-object, textual
temp.menu_1.3 = TMENU
temp.menu_1.3.entryLevel = 0
temp.menu_1.3 {
    # Normal state properties
  NO.allWrap = <div class="menu1-level3-no"> | </div>
    # Enable active state and set properties:
  ACT = 1
  ACT.allWrap = <div class="menu1-level3-act"> | </div>
}


# main template cObject
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
  template = FILE
  template.file = {$templateFile}
  workOnSubpart = DOCUMENT_BODY
  subparts.menu_1 < temp.menu_1
  subparts.tmpl_content < styles.content.get
}

# header template cObject
temp.headTemplate = TEMPLATE
temp.headTemplate {
  # Feeding the content from the Auto-parser to the TEMPLATE cObject:
  template = FILE
  template.file = {$templateFile}
  workOnSubpart = DOCUMENT_HEADER
}


# PAGE object:
page = PAGE
page.typeNum = 0
page.stylesheet = {$styleFile}


page.100 < temp.mainTemplate
page.headerData.100 < temp.headTemplate
doku ·

probiers mal so:

# PAGE object: 
page = PAGE 
page.typeNum = 0 
page.stylesheet = {$styleFile} 

page.100 < temp.mainTemplate 
page.headerData.100 < temp.headTemplate

# Prepare menu_1 cObject 
temp.menu_1 = HMENU 
  # First level menu-object, textual 
temp.menu_1.1 = TMENU 
temp.menu_1.1.expAll = 1
temp.menu_1.1 { 
    # Normal state properties 
  NO.allWrap = <div class="menu1-level1-no"> | </div> 
    # Enable active state and set properties: 
  ACT = 1 
  ACT.allWrap = <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 = <div class="menu1-level2-no"> | </div> 
    # Enable active state and set properties: 
  ACT = 1 
  ACT.allWrap = <div class="menu1-level2-act"> | </div> 
} 
  # Third level menu-object, textual 
temp.menu_1.3 = TMENU 
temp.menu_1.3 { 
    # Normal state properties 
  NO.allWrap = <div class="menu1-level3-no"> | </div> 
    # Enable active state and set properties: 
  ACT = 1 
  ACT.allWrap = <div class="menu1-level3-act"> | </div> 
} 


# main template cObject 
temp.mainTemplate = TEMPLATE 
temp.mainTemplate { 
  template = FILE 
  template.file = {$templateFile} 
  workOnSubpart = DOCUMENT_BODY 
  subparts.menu_1 < temp.menu_1 
  subparts.tmpl_content < styles.content.get 
} 

# header template cObject 
temp.headTemplate = TEMPLATE 
temp.headTemplate { 
  # Feeding the content from the Auto-parser to the TEMPLATE cObject: 
  template = FILE 
  template.file = {$templateFile} 
  workOnSubpart = DOCUMENT_HEADER 
}
robertbb ·

Wenn ich die entryLevel-Einträge in den einzelnen Menüebenen lösche, ist kein Unterschied feststellbar. Wahrscheinlich sind sie sinnlos. Wenn ich aber das Page-Objekt an den Anfang des Skripts verschiebe, zeigt er gar nichts mehr (!) an. Diesen Effekt hatte ich zwar nicht erwartet, aber hilfreich ist er auch nicht.