Zum Inhalt springen

extension templates nicht verstanden

Erstellt am 6. Oktober 2005 · 10 Antworten · letzte Antwort am 9. Oktober 2005

Tags: Frage

just2b ·

Hi,

korrigier mich wenn ich falsch lieg, aber du musst ja letzten code noch zuweisen.-.. so wie oben.. oder nicht?

lg

tom2 ·

hi,

danke für deine antwort. ja daran habe ich auch schon gedacht, dass ich es nochmal explizit mittels

temp.tease < lib.image

nochmal zuweise aber hat leider auch nichts gebracht.

tom2 ·

nochmal nach oben schieb 🙂 vielleicht findet sich ja doch jemand, der den entscheidenden wink mit dem zaunpfahl hat 😉

tom2 ·

ok,
nachfolgend das bis auf ein paar irrelevante daten (meta-angaben) vollständige setup:

lib.parseFunc_RTE.makelinks.http.extTarget =
lib.parseFunc_RTE.tags.link.typolink.extTarget =

lib.parseFunc_RTE.nonTypoTagStdWrap.HTMLparser {
 tags {
  b.remap = strong
  i.remap = em
  br.remap = br /
   }
}

lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.nonWrappedTag >
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class >
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.innerStdWrap_all.ifEmpty >

lib.parseFunc.tags.link.typolink.target >
lib.parseFunc_RTE.tags.link.typolink.target >

tt_content.stdWrap.prefixComment >
tt_content.textpic.20.text.10.10.stdWrap.dataWrap =

temp.tpl = FILE
temp.tpl {
 file = {$maintpl}
}


temp.mainnav = HMENU
temp.mainnav {
 1 = TMENU 
 1 {
  expAll = 0
 
 NO.tabIndex=1 
 NO.accessKey=1 
 NO.ATagTitle >
 NO.ATagTitle.field = description
 
 NO.linkWrap = | |*| | |
 NO.stdWrap.htmlSpecialChars = 1
 }
}

temp.stitle= TEXT
temp.stitle {
 field = subtitle
 wrap = <h2>|</h2>
}

tt_content {
 stdWrap {  
  dataWrap >
 }
}


lib.image = TEXT
lib.image {
	value = <div id="headimage"><div style="background-image: url(fileadmin/images/headimage/head_default.png);"></div></div>
     	override {
     		required = 1
     		data = levelmedia: -1, "slide"
     		wrap = <div id="headimage"><div style="background-image: url(uploads/media/|);"></div></div>
     		listNum = 0
     	}
}
 
temp.tease < lib.image


lib.stdheader >

lib.stdheader = CASE
lib.stdheader {
 key.field = colPos
 2 = CASE
 2 {  
  key.field = header_layout
  1 = TEXT
  1 {
   field = header
   wrap = <div class="hbl"><h3>|</h3></div>
  }
  
  default = TEXT
  default {
   field = header   
   wrap = <div class="h"><h3>|</h3></div>
  }
  
  0 < .default
 }

 default = CASE
 default {  
  key.field = header_layout
  default = TEXT
  default {
   field = header
   required = 1
   fontTag = <h3>|</h3>
  }

  1 < .default
  1 {
   fontTag = <h4>|</h4>
  }
  
 }
 
 0 < .default
} 



temp.mainTemplate = TEMPLATE
temp.mainTemplate {
  template < temp.tpl
  workOnSubpart = DOCUMENT_BODY
  subparts.MAINNAV < temp.mainnav
  subparts.TEASEIMG < temp.tease
  marks.SITE_TITLE < temp.stitle
  subparts.SITE_CONTENT < styles.content.get
  subparts.SITE_CONTENT.stdWrap {
    postUserFunc = tx_sbakronymmanager_pi1->check
  }
  subparts.SITE_SUBCONTENT < styles.content.getRight
}

page = PAGE
page {
	typeNum = 0
 	config {
 		locale_all = de_DE
 		doctype = xhtml_11
 		xmlprologue = none

  		language = de
  		htmlTag_langKey = de
  		index_enable = 1
  		removeDefaultJS = 1
  		spamProtectEmailAddresses = 5
  		spamProtectEmailAddresses_atSubst = <span>@</span>
  		baseURL = 1
  		tx_realurl_enable = 1
  		disablePrefixComment = 1
  		xhtml_cleaning = all
  		prefixLocalAnchors = all
  	}
 	bodyTag = <body id="top">
 	10 < temp.mainTemplate
}

plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE >
plugin.tx_cssstyledimgtext._CSS_DEFAULT_STYLE >
plugin.tx_thmailformplus_pi1._CSS_DEFAULT_STYLE >

**über unsauberen code bitte hinwegsehen, bin noch am anfang ** 😉

theo ·

Du moppelst doppelt, deswegen folgender Vorschlag:

Haupttemplate

....
....
lib.image = TEXT
lib.image {
	value = <div id="headimage"><div style="background-image: url(fileadmin/images/headimage/head_default.png);"></div></div>
     	override {
     		required = 1
     		data = levelmedia: -1, "slide"
     		wrap = <div id="headimage"><div style="background-image: url(uploads/media/|);"></div></div>
     		listNum = 0
     	}
}
 
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
  template < temp.tpl
  workOnSubpart = DOCUMENT_BODY
  subparts.MAINNAV < temp.mainnav
  subparts.TEASEIMG < lib.image
  marks.SITE_TITLE < temp.stitle
  subparts.SITE_CONTENT < styles.content.get
  subparts.SITE_CONTENT.stdWrap {
    postUserFunc = tx_sbakronymmanager_pi1->check
  }
  subparts.SITE_SUBCONTENT < styles.content.getRight
}
....
....

Extensiontemplate (alles weitere aus dem Haupttemplate läßt Du wech)

lib.imageklein = TEXT
lib.imageklein {
	...geändertes Typoscript...
}
 
temp.mainTemplate = TEMPLATE
temp.mainTemplate.subparts.TEASEIMG >
temp.mainTemplate.subparts.TEASEIMG < lib.imageklein
tom2 ·

danke dir theo.

bisher funktioniert es zwar noch nicht aber ich glaube den gedankengang verstanden zu haben:

a.) ich habe einen unnötigen zwischenschritt mit dem "temp.tease < lib.image" gehabt
b.) den marker vorher freischaufeln und mit dem neuen inhalt füllen

na mal gucken wo das bei mir noch klemmt. 🙂

theo ·

Kannst mir gerne per pm einen Zugang schicken.
Es kann sich wirklich nur um eine dämliche "Kleinigkeit" handeln, und bevor man sich hier wochenlang...

tom2 ·
theo schrieb

Kannst mir gerne per pm einen Zugang schicken.
Es kann sich wirklich nur um eine dämliche "Kleinigkeit" handeln, und bevor man sich hier wochenlang...

hallo theo,

danke für das angebot aber ich habe es aktuell nur lokal da ich meinen traffic nicht unnötig reizen möchte, t3 ist ja kein fliegengewicht *g*

allerdings habe ich mich jetzt nochmal rangesetzt und stück für stück meinen code entfernt. brachte nix. dann dachte ich, ok, zieh das pferd mal von hinten auf und hangel dich durch das page-objekt - und siehe da, da lag der hund begraben.

bei mir muss das wie folgt aussehen:

lib.imageklein = TEXT
lib.imageklein {
        ...geändertes Typoscript...
}


page.10.subparts.TEASEIMG >
page.10.subparts.TEASEIMG < lib.imageklein

dann klappt es. dein ansatz hat mir somit sehr weitergeholfen - vielen dank. 🙂

eines verstehe ich nur nicht. wieso wird "temp.mainTemplate" nach dem kopiervorgang freigegeben?

tom2 ·

ok, denkfehler. das verhalten ist ganz logisch, weil ich habe ja nun 2 instanzen, einmal in "temp.mainTemplate" und einmal in "page.10". da aber nur "page.10" sichtbar ist, wird auch der alte inhalt ausgegeben, da ich nur die temporäre variable in dem ext. template überschrieben habe.

würde ich temp.mainTemplate referenzieren würde er es auch in dem ext. template ändern.

*pling* und das zu später stunde *g*