Eigenes Einkaufswelten-Element mit createRadioField()

Hallo,

momentan hänge ich etwas bei dem Verstehen der Anleitung von Shopware zu den Eigenen Einkaufswelt-Elementen.

Wenn man zwischen mehreren Optionen auswählen lassen möchte (ohne eigene Datenbanktabelle) bietet sich ja „createRadioField()“ an. 

Um nun mehrere Optionen wählen zu können soll laut Anleitung das Element mehrfach mit dem selben Namen definiert werden… Ich habe eine Menge versucht, aber bei mir klappt das nicht:

        $finderElement = $this->createEmotionComponent([
            'name' => 'sample Element',
            'template' => 'emotion_sample',
            'cls' => 'emotion-sample-element',
            'description' => 'sample desc.'
        ]);

        $finderElement->createTextField([
            'name' => 'sample_id',
            'fieldLabel' => 'sample ID',
            'supportText' => 'sample -> Installation scripts -> iframe (number)',
            'allowBlank' => false
        ]);

        $finderElement->createRadioField([
            'name' => 'sample_language',
            'fieldLabel' => 'sample Sprache',
            'defaultValue ' => 'de',
            'supportText' => 'DE',
            'defaultValue' => 'de'

        ]);
        $finderElement->createRadioField([
            'name' => 'sample_language',
            'defaultValue ' => 'en',
            'supportText' => 'EN',
            'defaultValue' => 'en'

        ]);

Vom Philipp Schuch bekam ich per Mail leider nur den Hinweis: 
Auszug aus der Doku zu Radio-Fields:
“You can create several radio fields with the same name to create a radio group.
The defaultValue can be used to define the input value of each field.
The supportText can be used as the box label of each single field.”

Früher gab es in der Doku mal Codebeispiele, die funktionierten… Hat das mal jemand ohne ExtJS hinbekommen?

Der Radio-Button ist übrigens auch nicht aktivierbar - nichtmal wenn es nur einer ist. Getestet in SW 5.1.6 & 5.2 RC2

Gruß
Matthias

 

Hey,

also die Doku ist gültig ab der Version 5.2 (steht ja oben im Artikel). Habe es gerade selbst noch einmal mit dem Vimeo Widget getestet, welches man sich in dem Artikel runterladen kann, mit dem aktuellen RC der 5.2 und da funktioniert das wunderbar.

Man kann die Optionen auswählen und sie werden auch richtig gespeichert. Hier der Code:

$vimeoElement->createRadioField([
	'fieldLabel' => 'Radio Test',
	'name' => 'vimeo_radio_test',
	'defaultValue' => 'de',
	'supportText' => 'DE'
]);

$vimeoElement->createRadioField([
	'name' => 'vimeo_radio_test',
	'defaultValue' => 'en',
	'supportText' => 'EN'
]);

Liegt es vielleicht daran, dass Du die _ defaultValue  _doppelt definiert hast? Bitte auch immer daran denken, dass wenn Änderungen an dem Element durchgeführt werden, dass das Plugin dann neu installiert werden muss.

Sonnige Grüße,
Phil

Hey Phillip,
habt ihr das Vimeo Widget auch schon mit SW 5.2.3 getetstet, 
kann es zwar problemlos installieren und als Element setzen, 
so ich es dann aber bearbeiten will bekomme ich nur den JS Fehler:

„Uncaught TypeError: Cannot read property ‚substring‘ of undefined“