Variablen innerhalb von Flexforms transportieren

  • TW TW
    Jedi-General
    0 x
    1560 Beiträge
    0 Hilfreiche Beiträge
    06. 12. 2007, 12:46

    Hi und Hallo,
    also folgende Frage habe ich.

    1. Ist es machbar innerhalb von Flexforms Variablen mitzuschleifen und diese dann in einem anderen Abschnitt weiter zu verarbeiten?

    Szenario in meiner Flexforms:

    unter "Allgemeine Optionen" gibt es eine Selectbox mit verschiedenen Rubriken, die dynamisch eingelesen werden.

    je nachdem was ich dort aussuche, soll
    unter "Spezifikationen" eine Selectbox angezeigt werden, die auch wieder dynamisch eingelesen wird!

    allerdings muss ich hier die uid aus den rubriken als variable mitnehmen um sie dann für die zweite selectbox im dahinterliegenden php script zur verfügung zu haben.

    dadurch würde ja erst der inhalt der zweiten selectbox generiert...

    ich hoffe ich konnte mich klar ausdrücken.
    wen nnu einer mit dynaflex ankommt - schön und gut, aber auch da hab ich keine lösung gefunden...

    für sachdienliche hinweise
    vielen dank ;)


  • 1
  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    06. 12. 2007, 13:21

    Hallo,

    und wenn du das komplette Feld nicht per TCA direkt sondern per php in ner func renderst. dann kannst du alles auslesen und darauf komplett reagieren.

    georg

  • TW TW
    Jedi-General
    0 x
    1560 Beiträge
    0 Hilfreiche Beiträge
    06. 12. 2007, 16:10

    hi,
    steh grad auf dem schlauch?
    ich muss doch in der tca bleiben - da es ja doch flexform felder sind und auch bleiben sollen.

    andererseits - hättest du ein beispiel parat so als anschauungsunterricht was du meinst?
    kann mir eben grad nicht wirklich was drunter vorstellen wie ich die selectbox mit php rendern soll und nicht durch die tca...

    evtl. mit eval und dann das php script angeben..

    ein kurzer schlag auf den hinterkopf?

    danke

    thorsten

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    06. 12. 2007, 16:18

    klar hab ich das.

    1. <?
    2. // get the old value to set this into the field
    3. $flexform = t3lib_div::xml2array($PA['row']['pi_flexform']);
    4. $imgOld = (is_array($flexform)) ? $flexform['data']['sDEF']['lDEF']['images2']['vDEF'] : '';
    5.  
    6. // configuration of the field, see TCA for more options
    7. $config =Array(
    8. 'fieldConf' => Array(
    9. 'label' => 'images2',
    10. 'config' => Array(
    11. 'type' => 'group',
    12. 'prepend_tname' => 1,
    13. 'internal_type' => 'db',
    14. 'allowed' => $table,
    15. 'show_thumbs'=>1,
    16. 'size'=>10,
    17. 'autoSizeMax'=>20,
    18. 'maxitems'=>30,
    19. 'minitems'=>0,
    20. 'form_type' =>'group'
    21. ),
    22. ),
    23. 'onFocus' => '',
    24. 'label' => 'Plugin Options',
    25. 'itemFormElValue' => $imgOld,
    26. 'itemFormElName' => 'data[tt_content]['.$PA['row']['uid'].'][pi_flexform][data][sDEF][lDEF][images2][vDEF]',
    27. 'itemFormElName_file' => 'data_files[tt_content]['.$PA['row']['uid'].'][pi_flexform][data][sDEF][lDEF][images2][vDEF]'
    28. );
    29.  
    30. // create the element
    31. $form = t3lib_div::makeInstance('t3lib_TCEforms');
    32. $form->initDefaultBEMode();
    33. $form->backPath = $GLOBALS['BACK_PATH'];
    34.  
    35. $element = $form->getSingleField_typeGroup( 'tt_content', 'pi_flexform',$PA['row'], $config );
    36. return $form->printNeededJSFunctions_top().$element.$form->printNeededJSFunctions();
    37.  
    38. ?>

    aufgerufen per

    <config>
    <type>user</type>
    <userFunc>tx_rgslideshow_tca->user_rgslideshow</userFunc>
    </config>

    zu besichtigen in der ext rgslideshow

    georg

  • TW TW
    Jedi-General
    0 x
    1560 Beiträge
    0 Hilfreiche Beiträge
    16. 01. 2008, 12:10

    hm...
    nach langer zeit komm ich mal wieder dazu mich des problems hier anzunehmen :(

    also folgendes..

    meine erstes feld über itemsProcFunc liest aus einer externen db, spalten aus und trägt sie ein! der wert der dort ausgelesen wird, soll dann quasi per codition in den flexforms einem zweiten feld verglichen werden...

    meine frage nun - wie vergleiche ich den wert den ich oben dynamisch erhalte mit einem wert über displayCond????

    normalerweise:
    <displayCond>FIELD:mode:=:CAMPER</displayCond>

    und so wie ich das will:
    <displayCond>FIELD:mode:=:$camper</displayCond>

    ?

    thx

  • 1