Theme/Service.php getElementByName

Tag,

wie man seine eigene Theme.php mit einem ganzen neuen Config-Tab erweitert, ist ja dokumentiert. Aber für eine einzelne Zusatzoption gleich einen ganzen Tab?
Beim Stöbern in /engine/Shopware/Components/Theme/Service.php bin ich auf die Funktion getElementByName gestossen.
Nun kann ich mir aus der Responsive Theme.php die Namen der verschiedenen Config-Container rausssuchen.
Frage: ist die getElementByName dafür geeignet, mir mit einen Namen genau so einen Container zu holen, um den dann schlicht um ein Element zu erweitern?

Hmm, was spricht denn gegen einen neuen Tab?

Evtl. kommen ja noch mehr Optionen hinzu. Warum etwas komisch umsetzen wenn man weiß wie es richtig geht?

Vielleicht kannst du die Option ja auch (über $container->getElements() oder so) einem bestehenden Tab zuordnen?

 

 

 

Naja, ich habe meinem Theme Einstellungen in einem eigenen Tab mit zwei Untertabs. Was dagegen spricht? Erklär das mal einen hier im Forum, wenn es darum geht, für eine einzelne Konfiguration gleich einen ganzen Tab zu erstellen.  heart Eine einfache weitere Farbdefinition würde hallt auch gut in die allgemeine Seite für Farben passen. Ich bin ein Freund für kurze Wege zu kleinen Problemlösungen.
Werde selber heute Abend mal rumspielen.

hi Sonic,

konntest du hierzu schon etwas rausfinden?

Sorry, bisher nicht. Ich habe das aber auch nicht weiter vefolgt.

Wenn man einen neuen Tab erzeugt, und den Namen des bereits vorhandenen nimmt, könnt ihr dort neue Elemente hinzufügen. Evtl. hilft das hier weiter :slight_smile:

2 „Gefällt mir“

Werde ich mal testen.  Thumb-Up

danke so funktioniert es :wink:

Hi, hast du hierzu einen Link?:

@sonic‍ „wie man seine eigene Theme.php mit einem ganzen neuen Config-Tab erweitert, ist ja dokumentiert“

@brettvormkopp‍

https://developers.shopware.com/designers-guide/configuration-using-theme-php/

Nice und danke @Shyim‍  . Kann man die Tab-Erweitereung im Theme-Manager auch via Plugin hinzufügen? Wenn ja, wo muss man sich da einklinken?

@brettvormkopp‍

$this->eventManager->notify('Theme_Configurator_Theme_Config_Created', array(
            'theme' => $theme,
            'template' => $template,
            'container' => $container
        ));

Beispiel Code für den Listener:

$container->addTab(new Form\Container\Tab("test", "Test Tab"));

Müsstest jedoch noch abfragen ob das Theme auch das aktive ist :slight_smile:

2 „Gefällt mir“