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/
Oder man benutze KB TV Content Slide (key kb_tv_cont_slide) und füge den code direkt ins DS-xml ein:)
Irgendwie steh ich auf dem Schlauuch:
Ich möchte ein Inhaltselement übernehmen, bekomme aber immer nur die uid des Elementes.
Wie bekomme ich den Inhalt ausgegeben
lib.adressbereich =< plugin.tx_flexformgetfield_pi1
lib.adressbereich {
uid = 41
field = field_adresse
recLevel=4
}
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
Oder man benutze KB TV Content Slide (key kb_tv_cont_slide) und füge den code direkt ins DS-xml ein :)
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
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 :)
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
T3Board 07
watch the latest TYPO3 related Videos
TYPO3, development & web technology blog