Flexform feld dynamisch durch wert eines anderen feldes laden

  • AP_typo3 AP_typo3
    TYPO3-Anwärter
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    04. 07. 2008, 12:12

    Hi,

    ich hab eine extension die aus 2 Datenbanktabellen besteht.
    glossar
    und glossar_entry

    im backend kann kann man für ein fce einige glossareinträge angeben die angezeigt werden sollen. da es mehrere glossare gibt möchte ich, dass man zuerst auswählt welches glossar man möchte und dann die Liste der möglichen glossareinträge danach anpasst.

    hier mein bisheriges flexform

    [TS]<el>
    <el>
    <glossarselection>
    <tceforms>
    <label>LLL:EXT:tz_glossar/locallang_tca.php:sb_flexamples.pi_flexform.glossarSelection.label</label>
    <config>
    <type>select</type>
    <foreign_table>tx_tzglossar</foreign_table>
    <size>1</size>
    <selectedliststyle>width: 150px</selectedliststyle>
    </config>
    <onchange>reload</onchange>
    </tceforms>
    </glossarselection>

    <entryselection>
    <tceforms>
    <label>LLL:EXT:tz_glossar/locallang_tca.php:sb_flexamples.pi_flexform.entrySelection.label</label>
    <config>
    <type>select</type>
    <foreign_table>tx_tzglossar_entry</foreign_table>
    <foreign_table_where> AND glossar_id = ###REC_FIELD_glossarSelection###</foreign_table_where>
    <size>10</size>
    <maxitems>30</maxitems>
    <multiple>1</multiple>
    <selectedliststyle>width: 150px</selectedliststyle>
    </config>
    </tceforms>
    </entryselection>
    </el>
    [/TS]

    Hier muss im 2. element (entrySelection) im <foreigen_table_where> die id aus dem 1. element geladen werden. Mit REC_FIELD geht es aber nicht. Gibt es überhaupt diese möglichkeit?


  • 1
  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    04. 07. 2008, 12:49

    schau dir mal meine rgslideshow an, da hab ich das dann mit ner userfunc gelöst

    georg

  • AP_typo3 AP_typo3
    TYPO3-Anwärter
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    04. 07. 2008, 13:12

    Hi, danke,
    auf die idee bin ich kurz vorher auch gekommen, jetzt gehts auch.
    nur bleiben die selected items nach dem speichern nicht im linken feld erhalten und man müsste sie wieder neu auswählen.
    hab aber im $config array keine index gefunden wo man die selected items angeben kann. Gibts da auch ne lösung?

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    04. 07. 2008, 14:40

    Du benutzt auch den falschen Befehl
    statt
    [HTML]<onchange>reload</onchange>[/HTML]
    nimm
    [HTML]<displayCond>FIELD:glossarselection:REQ:true</displayCond>[/HTML]
    für das zweite Feld

  • AP_typo3 AP_typo3
    TYPO3-Anwärter
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    04. 07. 2008, 14:49

    Ok, danke, das löst aber nicht mein problem, oder hab ich da was falsch gemacht?
    Die gespeicherten Werte werden nicht angezeigt, nur wenn ich das Glossar ändere kommt bei der entrySelection ein Oranger pfeil, das wars.

    [TS]<entrySelection>
    <TCEforms>
    <label>LLL:EXT:tz_glossar/locallang_tca.php:sb_flexamples.pi_flexform.entrySelection.label</label>
    <config>
    <type>select</type>
    <itemsProcFunc>tx_tzglossar_itemFunctions->getEntries</itemsProcFunc>
    <size>10</size>
    <maxitems>30</maxitems>
    <multiple>1</multiple>
    <selectedListStyle>width: 150px</selectedListStyle>
    </config>
    <displayCond>FIELD:glossarSelection:REQ:true</displayCond>
    </TCEforms>
    </entrySelection>
    [/TS]

    Ich würds super finden wenn man das mit FIELD:glossarSelection auch irgendwie in den foreign table where bekommt

    [TS]<foreign_table>tx_tzglossar_entry</foreign_table>
    <foreign_table_where> AND glossar_id = FIELD:glossarSelection</foreign_table_where>
    [/TS]

  • jochla jochla
    Jedi-Ritter
    0 x
    128 Beiträge
    0 Hilfreiche Beiträge
    22. 11. 2013, 16:37

    Der Thread ist zwar schon einige Jahre alt, für mich ist dieses Problem aber topaktuell.

    Ich würde es ebenfalls super finden, wenn das so ähnlich funktionieren würde, tut es aber leider (immer) noch nicht. Oder gibt es mit Extbase dafür inzwischen eine andere Lösung? Würde mich brennend interessieren?!

    Johannes.

  • 1