[TYPO3-german] [automaketemplate] subparts überschreiben

Christian Wolff Chris at connye.com
Fri Aug 3 13:28:12 CEST 2007


Am Fri, 03 Aug 2007 13:05:02 +0200 hat Illi, Cornelius <Cornelius.Illi at student.hpi.uni-potsdam.de> geschrieben:

> Guten Tag zusammen,
>
> Ich wollte fragen, ob jemand eine Möglichkeit kennt, im root-template definierte subparts in Templates auf anderen Seiten zu überschreiben, wenn diese Constants und Setup vom root-Template übernehmen?
>
> Bisher wurden Änderungen die den Seitenaufbau betreffen durch kopieren des gesamten (600 zeiligen) Templates erreicht, welches dann angepasst wurde.
> Um die starken Redundanzen zu vermeiden, habe ich Teile des Templates in Extension-Templates verschoben und in einen Sysfolder gepackt. Diese werden nach Bedarf über "Include basis template:" in die Seitentemplates geladen. So z.B. eine Latest-News-Ansicht auf der linken Seite oder ein Archiv-Menu auf der rechten Seite eines dreispaltigen Layouts:
>
> temp.mainTemplate {
> 	subparts{
>   		rechts >
> 		rechts < plugin.tt_news
> 		rechts {
> 			code >
> 			code = AMENU
> 			templateFile = fileadmin/news_template.tmpl
>    			
> 			pid_list = 72
> 		}
>   	}
> }
>
> Ziel wäre es, die bisher kopierten und angepassten dicken Templates durch schlanke zu ersten, welche einige Konstanten neu setzen, den Rest übernehmen und gegebenenfalls über "Include basis template:" subparts, wie oben angeführten überschreiben. Dies ist prinzipiell möglich, wenn man die Häkchen unter "Clear" -> Constants/ Setup wegnimmt, leider wird der subpart aber nicht mehr überschrieben. Weiß jemand wieso? Kennt jemand einen Weg, dieses Problem zu lösen? Vielen Dank vorab. Gruß,
>
> Cornelius

Hi Cornelius,

ich denke vom Ablaufher läuft es ungefähr so ab:

temp.mainTemplate {
  [... viele definitionen ...]
}

# hier wird der inhalt von temp.mainTemplate in page copiert.
page.10 < temp.mainTemplate

temp.mainTemplate {
	[... alles was jetzt hier definiert
	wird wird nicht mehr in das page object geschireben ...]
}

hoffe das erklärt dir dein problem.

problemlösung ist auch relativ einfach:


du erstellst ein Basis Template
welches nur das pageobjekt definiert.

und die entsprechenen extension templates die die temp.* sachen definieren.

im template analyser sollte das dann ungefähr so aussehen:

  temp.mainTemplate (hier wird das haupt template angelegt)
  ext-modifikation (hier wird main.tempalte modifiziert)
  page (hier wird temp.mainTemplate in page eingesetztn)

die verwendung von temp.* ist schön weil es etwas ram frei gibt.
aber nachteilig weil man nicht sieht was sich in "temp.* befindet"
lösung ist im letzten tempplate an letzter stelle dafür zu sorgen das
temp.* in einen "sichtbaren" bereich kopiert wird.

aaaa < temp
dann siehst du im typoscript object browser was in temp.* passiert.

gruss chris




-- 
christian wolff - multimedia producer
telefon: (030) 789 134 99
handy: 0179 49 44 758
email: chris at connye.com
adresse: schenkendorfstr. 6 - 10965 berlin


More information about the TYPO3-german mailing list