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/

blog comments powered by Disqus
  1. residential property mana http://www.redbrickpm.co.uk 31.07.10 12:32

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

  2. Thomas 06.05.09 19:21

    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
    }

  3. Tolleiv Nietsch http://www.tolleiv.de 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

  4. 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 :)

  5. Ralph Pfeifer http://www.rpkd.de 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

  6. 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 :)

  7. 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

blogroll