TemplaVoila und Vererbung

Mit TemplaVoila hat man die Möglichkeit durch die Definition der Datenstruktur zusätzliche Eigenschaften zu einer Seite hinzuzufügen. Typischer Weise sind das:

  • Austauschen eines Headerbildes
  • Zusätzliche Titel oder andere Anpassungen

Oft ist es sinnvoll diese Angaben für einen Seitenbaum vererben zu lassen. Ohne TemplaVoila hat man das Feld "media" dafür benutzt, und die Vererbung lässt sich mit Hilfe dieses TSypoScript Objektes abbilden:

lib.contentHeader = IMAGE
lib.contentHeader{
  file.import = uploads/media/
  file.import.data = levelmedia: -1,slide
  file.import.listNum = 0 
}


Bei der Verwendung von TemplaVoila ist es aber derzeit noch nicht möglich die "slide" funktionalität zu benutzen. Abhilfe schafft eine nützliche Extension "flexform_getfield", mit der folgender TS-Code den Seitenbaum rekursiv nach einem bestimmten FlexForm Feld durchsucht:

lib.headerwrapid= USER
lib.headerwrapid.userFunc = tx_flexformgetfield_pi1->main
lib.headerwrapid.field = field_headeridselect
lib.headerwrapid.recLevel=4
lib.headerwrapid.defReturn=mainheader

Damit ist es nun auch möglich das Vererbungskonzept mit TemplaVoila - Feldern zu nutzen.

typo3.org/extensions/repository/view/flexform_getfield/current/

Anzeige: 1 - 5 von 5.
 

Tolleiv Nietsch

30. 05. 07 16:44

Hi,
der Hinweis sei noch gestattet das kb_tv_cont_slide in der aktuellen Version 0.2.0 im Gegensatz zu flexform_getfield Probleme hat wenn er auf ein Sysfolder in der Rootline trifft.

Und mit flexform_getfield kann man selbstverständlich auch in der DS arbeiten.

Viele Grüße

 

avi

21. 03. 07 17:58

Oder man benutze KB TV Content Slide (key kb_tv_cont_slide) und füge den code direkt ins DS-xml ein :)

 

Ralph Pfeifer

14. 03. 07 11:58

Noch ein Zusatz:
Vererebung von anderen Feldern als Bildern:

temp.meine_ts_variable =< plugin.tx_flexformgetfield_pi1
temp.meine_ts_variable {
recLevel= -1
defReturn=defaultEintrag
field = field_mein_ts_field
}
lib.textfeld = TEXT
lib.textfeld

 

carsten

23. 01. 07 16:47

Ich habs hinbekommen! *freu* Endlich darf ich der Community mal was zurückgeben. In Verbindung mit TemplaVoila und der Extension flexform_getfield, kann man in einer DS zum Beispiel dieses Script einsetzen, um entweder das angebene Bild oder wenn keins vorhanden ist, das im Baum höhergelegene nächste, Bild:


10 = IMAGE
10 {
file {
import {
cObject =< plugin.tx_flexformgetfield_pi1
cObject {
recLevel = -1
field = field_image_section
defReturn = section-img-welcome.png
override {
required = 1
current = 1
listNum = 0
}
}
wrap = uploads/tx_templavoila/|
}
maxW = 200
}
params = class="iespacefix"
altText = Bild für diesen Bereich
}


viele grüße :)

 

carsten

23. 01. 07 12:21

Hallo und vielen Dank für den Tipp zu dieser Extension.

Wie kann ich es nun z.B. bewerkstelligen, dass für ein Bild in einer DS auf übergeordnete Einträge zurückgegriffen wird? Mein Beispiel-Code:

10 = IMAGE
10 {
file {
import = uploads/tx_templavoila/
import {
current = 1
listNum = 0
}
maxW = 200
}
params = class="iespacefix"
altText = Bild für diesen Bereich
stdWrap.override.cObject = USER
stdWrap.override.cObject {
required = 1
userFunc = tx_flexformgetfield_pi1->main
field = field_image_section
recLevel = 4
defReturn = mainheader
}
}

funktioniert leider nicht :/

Beste Grüße,
carsten

 
 

Ins Gästebuch eintragen
CAPTCHA Bild zum Spamschutz