Ergebnis 1 bis 5 von 5

Thema: multiColumnWizard mit multiple select

  1. #1
    Contao-Nutzer
    Registriert seit
    14.06.2010.
    Beiträge
    81

    Standard multiColumnWizard mit multiple select

    Hallo,

    Ich habe ein multiColumnWizard mit 2 textfeldern und 1 select wie folgt umgesetzt:

    Code:
    'dropdownValues' => array(
                'label'			=> &$GLOBALS['TL_LANG']['tl_egt_productProperty']['dropdownValues'],
                'exclude' 		=> true,
                'inputType' 		=> 'multiColumnWizard',
                //'load_callback'           => array(array('tl_egt_productProperty','dropdownValues_load_callback')),
                //'save_callback'	          => array(array('tl_egt_productProperty','dropdownValues_save_callback')),
                'eval' 			=> array
                (
                    'columnFields' => array
                    (
                        'text' => array
                        (
                            'label'                 => &$GLOBALS['TL_LANG']['tl_egt_productProperty']['text'],
                            'exclude'               => true,
                            'inputType'             => 'text',
                            'eval' 			=> array('style'=>'width:180px')
                        ),
                        'value' => array
                        (
                            'label'                 => &$GLOBALS['TL_LANG']['tl_egt_productProperty']['value'],
                            'exclude'               => true,
                            'inputType'             => 'text',
                            'eval' 			=> array('style'=>'width:180px','rgxp'=>'digit')
                        ),
                        'location' => array
                        (
                            'label'                 => &$GLOBALS['TL_LANG']['tl_egt_productProperty']['location'],
                            'exclude'               => true,
                            'inputType'             => 'select',
                            'options'            	=> array
                            (
                                '1'       => 'Welt',
                                '2'     	=> 'Länder',
                                '3'     	=> 'Bundesländer',
                            ),
                            'eval' 			=> array('chosen'=>true, 'multiple'=> true,'style' => 'width:250px'),// )
                        ),
    
    
                    )
                ),
    wenn multiple'=> true eingefügt wird, funktionieren die text und value felder nicht mehr. dann werden diese felder nicht mehr abgespeichert. Wenn multiple'=> true entfert wird, dann geht alles, nur halt nicht die mehrfachauswahl.
    Kennt jemand das Problem? Ich verwende MultiColumnWizard 3.3.6 und Contao Open Source CMS 3.5.25

    Danke Ludi

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.450
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Moin,
    ich geh mal davon aus, dass versucht die mehrfache Serialisierung von Arrays da Probleme macht.

    Die Spalten des MCW werden ja als serialisiertes Array abgelegt. Darin aber nun auch noch die Werte einer Spalte auch noch zu serialisieren ist vlt. zu viel des Guten.

    Es gibt für die Evaluation einen Key "CSV" (https://docs.contao.org/books/api/dc...tml#evaluation) der gemäß seiner Beschreibung dafür sort, dass die Werte nicht serialisiert sonder als "delimiter-separated list" abgelegt werden.

    Versuch es doch mal damit.

    Gruß, Cliff

  3. #3
    Contao-Nutzer
    Registriert seit
    14.06.2010.
    Beiträge
    81

    Standard

    Hallo,

    nein das ist nicht das Problem. Es hat trotzdem nicht geklappt.

    Er generiert folgenden Code

    Code:
    <input type="hidden" name="dropdownValues[0][location" value="">
    <select name="dropdownValues[0][location][]" id="ctrl_dropdownValues_row0_location" class="tl_mselect" multiple="" style="width:250px" onfocus="Backend.getScrollOffset()">
    <option value="1" selected="">Welt</option><option value="2" selected="">Länder</option><option value="3" selected="">Bundesländer</option>
    </select>
    Das Problem ist das 1. hidden Field. Es fehlt eine ] klammer. Wenn ich diese z.b. mit Firefox hinzufüge, dann funktioniert es.

    Ich habe jetzt nachgeschaut wo der Code generiert wird.
    Es ist im SelectMenu.php File in Zeile 158

    Code:
    ($this->multiple ? '<input type="hidden" name="'. rtrim($this->strName, '[]') .'" value="">' : ''),
    ich habe dies in folgendes geändert
    Code:
    ($this->multiple ? '<input type="hidden" name="'. str_replace(array("[]"),"",$this->strName) .'" value="">' : ''),

    Jetzt funktioniert das speichern, aber der + Button funktioniert nicht. Da erhalte ich folgenden Fehler:

    Code:
    4c9692ab7417.js:11 Uncaught TypeError: Cannot read property 'getElement' of null
        at Object.choice_build (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:11:9198)
        at Object.i.extend.$owner (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:2:18381)
        at Object.<anonymous> (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:11:5473)
        at Array.forEach (native)
        at Function.forEach (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:2:2608)
        at Array.each (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:2:4458)
        at Object.results_build (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:11:5347)
        at Object.i.extend.$owner (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:2:18381)
        at Object.set_up_html (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:11:2494)
        at Object.i.extend.$owner [as set_up_html] (http://local.eingutertagv2.org/assets/js/4c9692ab7417.js:2:18381)
    LG Ludi
    Geändert von ludi (12.05.2017 um 15:51 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    14.06.2010.
    Beiträge
    81

    Standard

    Wenn ich 'chosen'=>false setze, dann geht es.

    komisch ist aber, dass wenn mehrere reihen sind, dann geht das + bei den mittleren (auch mit chose), aber bei der 1. nicht.

  5. #5

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •