# Snippets in Theme.php funktionieren nur teilweise

**URL:** <https://forum.shopware.com/t/snippets-in-theme-php-funktionieren-nur-teilweise/53862>\
**Category:** Themes & Design\
**Created:** [4. Juli 2018 um 06:59 UTC](https://forum.shopware.com/t/snippets-in-theme-php-funktionieren-nur-teilweise/53862 "2018-07-04T06:59:43Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Heiko\_2](https://avatars.discourse-cdn.com/v4/letter/h/46a35a/32.png) [@Heiko\_2](https://forum.shopware.com/u/Heiko_2)\
**Post date:** [4. Juli 2018 um 06:59 UTC](https://forum.shopware.com/t/snippets-in-theme-php-funktionieren-nur-teilweise/53862/1 "2018-07-04T06:59:43Z")

</div>

Hallo zusammen,

ich versuche schon seit einiger Zeit mir eigene Felder in meinem Theme zu erstellen. Leider hapert es etwas mit dem Einbinden der Snippets. Das funktioniert nur teilweise.  
Ich habe dazu die Datei config.ini im Ordner „MeinTheme/\_private“ angelegt. In der Datei Theme.php gebe ich z.B. folgendes ein:

```
$chk = $this->createCheckboxField(
     'meinFeld',
     ' __mein_field_label__',
     false,
     [
          'attributes'=>[
          'boxLabel'=>' __mein_field_desc__',
          'labelWidth'=>180,
          'lessCompatible' => false
          ]
     ]              
);
$fieldset->addElement($chk); 

```

In der Datei config.ini steht dann folgendes:

```
mein_field_label='Mein Label'
mein_field_desc='Meine Beschreibung'

```

Die Bezeichnung vor der Checkbox wird ordnungsgemäß ausgegeben. Nur nicht was hinter der Checkbox erscheint. Dort steht dann nur „\_\_mein\_field\_desc\_\_“

Woran kann das liegen?

Gruß Heiko

---

<div class="post-metadata">

**Author:** ![ndzoesch](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/ndzoesch/32/20970_2.png) [@ndzoesch](https://forum.shopware.com/u/ndzoesch)\
**Post date:** [13. November 2018 um 09:08 UTC](https://forum.shopware.com/t/snippets-in-theme-php-funktionieren-nur-teilweise/53862/2 "2018-11-13T09:08:33Z")

</div>

Moin Moin,

vermutlich hast Du das Problem mittlerweile selbst gelöst, aber für die Nachwelt hier die Auflösung.

Stand Shopware 5.5.3 wird das Attribut _boxLabel_ nicht&nbsp;so behandelt wie andere. Es ist aber trotzdem übersetzbar, und zwar wie folgt.

**1. Übersetzung in der _\_private/snippets/backend/config.ini_ file anlegen**

```
[de_DE]
my_box_label="Achtung Checkbox!"

[en_GB]
my_box_label="Look out, a checkbox!"

```

**2. Neue Methode in der _Theme.php_ anlegen**

```
// Rest weggelassen weil kürzer

private function getSnippet($snippetName)
    {
        return Shopware()->Snippets()->getNamespace('themes/mein_theme_name/backend/config')->get($snippetName);
    }

```

_Wichtig:_&nbsp;Den Text „mein\_theme\_name“ mit dem Namen des eigenen Themes ersetzen (Ordnername, klein).

**3. Neue Methode nutzen**

```
// ... irgendwo in der createConfig Methode

$c = $this->createCheckboxField(
            'my_field',
            ' __my_field_label__',
            false,
            [
                'attributes' => [
                    'boxLabel' => $this->getSnippet('my_box_label'),
                    'labelWidth' => 180,
                    'lessCompatible' => false
                ]
            ]
        );

//...

```

Da dieses Vorgehen im Vergleich mit helpText und supportText natürlich unschön ist, habe ich einen internen Pullrequest erstellt, der dann ab (hoffentlich) 5.5.4 ermöglicht, einfach wie gewohnt zu übersetzen. Bis dahin und um mit älteren Versionen kompatibel zu bleiben, so machen wie oben.

Um nachzuhalten ob die Funktionalität bereits im Produkt ist oder nicht, [an dieser Stelle](https://github.com/shopware/shopware/blob/5.5/engine/Shopware/Components/Theme/Service.php#L409) muss dann analog zu den anderen Attributen auch das _boxLabel_ auftauchen.

Gruß, Niklas
