Zum Inhalt springen

automaketemplate - externes Template einbinden?

Erstellt am 23. Mai 2006 · 3 Antworten · letzte Antwort am 28. Mai 2006

Tags: Frage

Toccamonium ·

Hi,

ich nutze für meine Seite die Extension Template Auto-parser.
Aufgebaut habe es folgendermaßen (Anleitung von einer anderen
Seite):
In der Root habe ich Folgendes ins Setup geschrieben >

config {
   .language = de
   index_enable = 1
   admPanel = 0
   ...
}


page = PAGE
page.typeNum = 0

page.headerData.10  < temp.headTemplate

page.10 < temp.mainTemplate
page.10.subparts {
}

Der Code für den Template Auto-Parser liegt in einem Sysordner
als Inhaltselement Template.

autoparserTemplate >

plugin.tx_automaketemplate_pi1 {
  content = FILE
  content.file = fileadmin/html_templates/template_2_column.tmpl

  elements {
       BODY.all = 1
       BODY.all.subpartMarker = DOCUMENT_BODY
 
       HEAD.all = 1
       HEAD.all.subpartMarker = DOCUMENT_HEADER
       HEAD.rmTagSections = title
   
       DIV.id.top = 1
   DIV.id.top.subpartMarker = TOPNAVI

        ...

}
 
  relPathPrefix = fileadmin/html_templates/
}

mainTemplate >

temp.headTemplate = TEMPLATE
temp.headTemplate {

  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_HEADER
...
temp.mainTemplate = TEMPLATE
temp.mainTemplate {

  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_BODY
  subparts.content < styles.content.get
....
}

Der Inhalt wird auch perfekt ausgegeben. Nun aber zu dem Problem.
In der autoparseTemplate liegt ja der Pfad zur HTML-Vorlage. Jetzt habe
ich aber Seiten, wo ich ein anderes Layout benötige. Dazu wollte ich ein
externes Template für diese Seiten anfügen, welches mir eine andere
HTML-Vorlage lädt. Layout 1 hat z.B. 2 Spalten für die erste Seite (News/
Text), Layout 2 hat nur 1 Spalte, z.B. damit ein Guestbook gut reinpasst.

Tja, nun weiß ich aber nicht, wie ich hier über den automaketemplate
parser gehe und ihm gleichzeitig mitteile, dass hier ein anderes Layout
geladen werden soll.
Beim Standardaufbau ohne diese Extension müsste ich ja hier nur
das neue File angeben, aber so stehe ich jetzt auf dem Schlauch.

Wie muss ich hier vorgehen?

Danke
T.C.

cinos22 ·

Habs zwar noch nicht getestet, aber ich würde mal folgendes vorschlagen:

Autopaser-Template:

plugin.tx_automaketemplate_pi1 {
  content = FILE

[PIDinRootline = 7] 
content.file > 
content.file= fileadmin/html_templates/anderes_template.tmpl
[global] 

#### anderes Template für  PID 4
[PIDinRootline = 4] 
content.file > 
content.file= fileadmin/html_templates/anderes_template.tmpl
[global] 

 
  elements {
       BODY.all = 1
       BODY.all.subpartMarker = DOCUMENT_BODY
 
       HEAD.all = 1
       HEAD.all.subpartMarker = DOCUMENT_HEADER
       HEAD.rmTagSections = title
   
       DIV.id.top = 1
   DIV.id.top.subpartMarker = TOPNAVI
 
        ...
 
}
 
  relPathPrefix = fileadmin/html_templates/
}

Abhängig von der Seite [PIDinRootline = 7] (hier z.B. PID 7 wird ein anderes Template-File genommen.

Toccamonium ·

Hmm, leider hat es so nicht funktioniert. Habe den Code so eingegeben,
aber ich erhalte nur eine weiße Seite... alles was im Body stehen sollte
erscheint nicht 😢

Toccamonium ·

Habe jetzt aber noch was anderes probiert. Und zwar habe ich
für die Seite Kontakt einfach das TS aus dem Ordner Templates >
autoparseTemplate genommen und bei Kontakt eingefügt. Hier
habe ich alle Elemente enfernt und den Pfad auf eine neue
Datei gesetzt. Und schon habe ich eine andere Vorlage für diese
Seite 😃