madeyourday / contao-rocksolid-custom-elements

RockSolid Custom Elements Contao Extension
http://rocksolidthemes.com/de/contao/plugins/custom-content-elements
MIT License
48 stars 12 forks source link

fileTree Elemente in einem inputType "list" werden nicht gespeichert, bzw. verursachen einen Fehler #49

Closed Christian-Wania closed 9 years ago

Christian-Wania commented 9 years ago

Contao: Version 3.2.7 Custom-Elements: Version 1.3.1 Build 2

Die nachfolgende Konfiguration sorgt bei mir dafür, dass beim Versuch das Custom Element zu speichern der Filetree-Validator mit der Meldung:

Warning: strpos() expects parameter 1 to be string, array given in D:\work\xampplite-1.7.7\vhosts\euchner.local\htdocs\system\modules\core\widgets\FileTree.php on line 144

auf die Nase fällt. Das erzeugte HTML für die verschachtelten Filetree-Elemente unterscheidet sich auch deutlich von den nicht verschachtelten (die ich am Ende zum testen in meine Konfiguration eingefügt habe)

verschachteld: <input type="hidden" value="c4d5030d-7faa-11e4-b894-f01fafd352e8" id="ctrl_rsce_field_slides__0__image" name="rsce_field_slides__0__image[][]">

normal: <input type="hidden" value="c4d5030d-7faa-11e4-b894-f01fafd352e8" id="ctrl_rsce_field_i1" name="rsce_field_i1">

Anscheinend wird bei den verschachtelten Elementen ein Array-Element erzeugt, das dann nicht weiter verarbeitet werden kann.

Bevor ich es mit der Version 1.3.1 versucht hate, hatte ich die 1.2.9 im Einsatz. Dort hat das speichern der verschachtelten Elemente teilweise funktioniert. Es wurde immer nur das letzte Bild gespeichert (wenn mehrere "Slides" erstellt wurden), dafür hat sich der Validator aber nicht beschwert.

Meine verwendete Konfiguraton sieht so aus:

<?php
// rsce_ebs_static_infobar_config.php
return array(
    'label' => array('Cycle2 - Slider', ''),
    'types' => array('content'),
    'contentCategory' => 'custom_elements',
    # 'standardFields' => array('cssID'),
    'wrapper' => array(
        'type' => 'none',
    ),
    'fields' => array(

        'slides' => array(
            'label' => array('Slides', ''),
            'elementLabel' => '%s. Slide',
            'inputType' => 'list',
            'minItems' => 0,
            # 'maxItems' => 5,
            'fields' => array(
                'image' => array(
                    'label' => array('Bild', ''),
                    'inputType' => 'fileTree',
                    'eval' => array(
                        'fieldType' => 'radio',
                        'filesOnly' => true,
                        'extensions' => 'jpg,jpeg,png,gif,svg',
                    ),
                ),
                'subline1' => array(
                    'label' => array('Bild-Titel', ''),
                    'inputType' => 'text',
                    'eval' => array('maxlength'=>255, 'tl_class'=>'w50'),
                ),
                'subline2' => array(
                    'label' => array('Bild-Unterschrift', ''),
                    'inputType' => 'text',
                    'eval' => array('maxlength'=>255, 'tl_class'=>'w50'),
                ),
                'headline1' => array(
                    'label' => array('Überschrift (linke Spalte)', ''),
                    'inputType' => 'text',
                    'eval' => array('maxlength'=>255, 'tl_class'=>'long clr'),
                ),
                'text1' => array(
                    'label' => array('Text (linke Spalte)', ''),
                    'eval' => array('rte' => 'tinyMCE'),
                    'inputType' => 'textarea',
                ),
                'headline2' => array(
                    'label' => array('Überschrift (rechte Spalte)', ''),
                    'inputType' => 'text',
                    'eval' => array('maxlength'=>255, 'tl_class'=>'long'),
                ),
                'text2' => array(
                    'label' => array('Text (rechte Spalte)', ''),
                    'eval' => array('rte' => 'tinyMCE'),
                    'inputType' => 'textarea',
                ),
            ),
        ),

        'i1' => array(
            'label' => array('Bild', ''),
            'inputType' => 'fileTree',
            'eval' => array(
                'fieldType' => 'radio',
                'filesOnly' => true,
                'extensions' => 'jpg,jpeg,png,gif,svg',
            ),
        ),
        'i2' => array(
            'label' => array('Bild', ''),
            'inputType' => 'fileTree',
            'eval' => array(
                'fieldType' => 'radio',
                'filesOnly' => true,
                'extensions' => 'jpg,jpeg,png,gif,svg',
            ),
        ),
    ),
);
ausi commented 9 years ago

Ist die Erweiterung MultiColumnWizard auch installiert? Falls ja, in welcher Version?

Christian-Wania commented 9 years ago

Autsch - Das war bei mir noch die 3.3.1 b6 Nach dem Update auf die 3.3.3 (das ich verpennt habe :-/) funktioniert es jetzt reibungslos.

Da saß der Fehler wieder vor der Tastatur sorry

ausi commented 9 years ago

Kein Problem :)

Das originale Issue ist #11

Christian-Wania commented 9 years ago

Das wird immer besser. Da hab ich auch noch so nen alten Stiefel wieder ausgegraben :-S ;)