Plugin Konfiguration - unsichtbares Feld?

Hallo! Besteht bei der Erstellung eines eigenes Plugins die Möglichkeit, für die Konfiguration ein Feld zu definieren, dass im Backend unsichtbar ist? Ich würde gerne im Plugin eine Information speichern, die nicht geändert werden kann und nicht zwangsläufig angezeigt werden muss. Eine Art Element vom Typ “hidden_text”. Gibt es sowas?

Ja kannst du mit public function install() { $this-\>registerEmotionElement(); return true; } public function registerEmotionElement() { $this-\>component = $this-\>createEmotionComponent(array( 'name' =\> 'example', 'xtype' =\> 'emotion-components-example', 'template' =\> 'component\_example', 'cls' =\> 'emotion-example', 'description' =\> 'example' )); $this-\>component-\>createHiddenField(array( 'name' =\> 'example', 'valueType' =\> 'json', 'allowBlank' =\> true )); } Das wäre jetzt zum Beispiel für ein Emotion Element oder wie meinst du das ?

Ich habe eine createConfiguration Function in der ich die Konfiguration des Plugins erstelle. Da habe ich z.B. folgendes drin: $form = $this-\>Form(); $form-\>setElement('number', 'sql\_port', array( 'label' =\> 'SQL Port', 'value' =\> 3306, 'minValue' =\> 0, 'scope' =\> Shopware\Models\Config\Element::SCOPE\_SHOP, 'description' =\> 'Port der SQL-Datenbank', 'required' =\> true ) ); // ... Nun dachte ich, da hänge ich einfach so eine Art Hidden_Field dran… $form-\>setElement('hidden', 'hiddenField', array( 'value' =\> '1234abc', 'scope' =\> Shopware\Models\Config\Element::SCOPE\_SHOP );

Du kannst ein label Element setzen. Das kann man zwar sehen - aber nicht ändern. Alternativ müsstest du deine Konfiguration an anderer Stelle speichern. Was hast du denn vor?! Vielleicht kann man dir mit mehr Informationen besser helfen. Viele Grüße

Ich weiß das, dass Theme alt ist. Jedoch hier die Lösung falls es jemand auch braucht.

$form->setElement('text', 'textField',
    array(
        'value' => '1234abc',
        'hidden' => true
    );

 

1 Like