Zum Inhalt springen

extensions templates

Erstellt am 24. September 2005 · 2 Antworten · letzte Antwort am 24. September 2005

Tags: Frage

Bangolo ·

vermutlich sehe ich gerade mal wieder den Wald vor lauter Bäumen nicht.

Ich will den content Teil auf eine Seite jeweils mit unterschiedlichen templates anzeigen lassen, dafür habe ich mir ein rootTemplate gebastelt, in diesem rootTemplate habe ich einen Bereich markiert der heißt content, dieser Bereich soll durch das extension template ersetzt werden.

Hier mal die simple Version des rootTemplates

<html>
<head>
<title>mainTest</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<div id="menue">
hier soll mal das menue stehen
</div>
<div id="content">
hier soll der Inhalt aus einem anderen html File stehen
</div>
</body>
</html>

der dazugehörige TS code sieht so aus

# Configuring the Auto-Parser:
plugin.tx_automaketemplate_pi1 {
    # Read the template file:
  content = FILE
  content.file = fileadmin/templates/mainTest.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

    DIV.all = 1

    TD.all = 1
}

    # Prefix all relative paths with this value:
    relPathPrefix = fileadmin/templates/
}


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 ###content### subpart
  # hier soll die html Datei aus dem 
  # extesion Template eingebunden werden
  subparts.content < temp.contentArea

}
# 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

so das klappt auch alles, template wird eingelesen und ausgegeben. Im Orginal gibt es natürlich noch Menüs, Bilder usw.

mein extesion template sieht folgender Massen aus, auch simple version

<div id="contentsection">
hier ist jetzt das andere html file geladen
</div>

da sollen natürlich noch Bereiche für die jeweiligen spalten rein

das TS script dazu ist folgendes

# Content Area TEMPLATE cObject
temp.contentArea = TEMPLATE
temp.contentArea {
      template = FILE
      template.file =  fileadmin/templates/contentArea.html
}

ich habe auch mal versucht in dem contentArea einfach einen Text Objekt zu erzeugen und das dann auszugeben, geht nicht. Ich schaffe es nicht eine Verbindung zwischen rootTemplate und diesem extension Template zu erzeugen.

Wäre schön wenn mir jemand einen Tipp geben könnte wie ich das Brett vor meinem Kopf entfernen könnte ich denke mal das muss doch irgendwie gehen 😃

mstuebner ·
Bangolo schrieb

vermutlich sehe ich gerade mal wieder den Wald vor lauter Bäumen nicht.

Ich würde noch etwas weiter gehen. Du invertierst den gesamten Vorgang! :o 😃
Das was Du rootTemplate nennst ist ganz einfach eine HTML-Vorlage, der Typo3-Skript Code der sich auf der Rootseite befindet ist dagegen das RootTemplate. Also genau umgekehrt, aber bis hierher sind es nur Wort.

Da Du die Begriffe aber völlig missverstanden hast, gehst Du dann natürlich in eine völlig falsche Richtung.

Wenn hier die Rede von einem ExtensionTemplate ist, dann handelt es sich um ein weiteres Typo3-Skript-Template unterhalb des Roottemplate und NICHT um eine andere HTML-Vorlage!

Ein ExtensionTemplate legst Du also an, indem Du eine beliebige Seite in Deinem Seitenbaum selektierst und dann im Menü auf TEMPLATE klickst. Dann hast Du im rechten Bildschirmteil die Möglichkeit ein Extensiontemplate zu erstellen, in dem Du Teile des Roottemplates überschreiben oder neue Teile hinzufügen kannst. Natürlich kannst Du hier auch eine andere HTML-Vorlage laden etc.

Bangolo ·

erstmal danke für deine Antwort, meine fehleinschätzung liegt vermutlich daran das ich bisher immer mit parsern wie smarty oder patTemplate gearbeitet habe das sind templates halt die HTML vorlagen, aber das nur nebenbei 🙂

jo das rootTemplate also den zugehörigen TS code habe ich auch als rootTemplate eingebunden, darin steht also dieser größeres TS code Teil, dann habe ich auf der darunterliegenden Seite ein extension Template erstellt und darin dann den kürzen TS code

mit folgendem code im rootTemplate wollte ich dann den Inhalt des extension Templates einem marker im root Template zuweisen

# Substitute the ###content### subpart
  # hier soll die html Datei aus dem 
  # extesion Template eingebunden werden
  subparts.content < temp.contentArea

das geht aber nicht. Mir geht es eigentlich darum wie kann ich einem marker im rootTemplate den Inhalt eines extensions Templates zuweisen. Oder muss ich da das rootTemplate in extension Template kopieren und dann zuweisen ?