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
<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>
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?
schau dir mal meine rgslideshow an, da hab ich das dann mit ner userfunc gelöst
georg
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?
Du benutzt auch den falschen Befehl
statt
<onchange>reload</onchange>
nimm
<displayCond>FIELD:glossarselection:REQ:true</displayCond>
für das zweite Feld
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.
<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>
Ich würds super finden wenn man das mit FIELD:glossarSelection auch irgendwie in den foreign table where bekommt
<foreign_table>tx_tzglossar_entry</foreign_table>
<foreign_table_where> AND glossar_id = FIELD:glossarSelection</foreign_table_where>
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.