# swag\_custom\_products in Theme überschreiben

**URL:** <https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872>\
**Category:** Themes & Design\
**Created:** [27. Oktober 2016 um 08:09 UTC](https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872 "2016-10-27T08:09:12Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![dupp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/dupp/32/7715_2.png) [@dupp](https://forum.shopware.com/u/dupp)\
**Post date:** [27. Oktober 2016 um 08:09 UTC](https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872/1 "2016-10-27T08:09:12Z")

</div>

Hallo,

wir würden gerne ein eingesetztes Plugin SwagCustomProducts durch unser Theme überschreiben. Beim Überschreiben von Plugins stößt man ja leider regelmäßig wieder vor einigen Fragen:

1. Wie kann ich Plugins in meine Entwicklungsumgebung bekommen um diese durch das Theme zu bearbeiten?
2. Welches sind die richtigen Pfade und extends-Befehle?
3. Wie vermeide ich, dass es zu Errors kommt, wenn ich includes ändere und das Plugin z.B.: nicht mehr installiert ist?

&nbsp;

**Zu 1 -** Aktuell arbeite ich das lokal aus und lade das Theme immer wieder hoch und prüfe… das ist sehr mühsam…

**Zu 2 -** Beispiel:

```
/engine/Shopware/Plugins/Community/Frontend/SwagCustomProducts/Views/frontend/swag_custom_products/detail/index.tpl

```

soll bearbeitet werden.

Dazu fallen mir folgende Möglichkeiten ein:

- THEMENAME/frontend/detail/index.tpl - {extends file=‘parent:frontend/detail/index.tpl’} --\> geht
- THEMENAME/frontend **/swag\_custom\_products** /detail/index.tpl - {extends file=‘parent:frontend/ **swag\_custom\_products** /detail/index.tpl’} --\> geht nicht
- THEMENAME/frontend **/plugins/swag\_custom\_products** /detail/index.tpl - {extends file=‘parent:frontend/ **plugins/swag\_custom\_products** /detail/index.tpl’} --\> geht nicht

Ich hatte mal gelesen, dass Plugins, welche im Unterordner /frontend/ einen eigenen Plugin-Ordner haben (/swag\_custom\_products/) auch mit diesem gezielt im Theme angesprochen werden können.

Das führt mich nämlich zu Problem **Nr. 3** :

Die Änderung, welche ich in der THEMENAME/frontend/detail/index.tpl mache, führt dazu, dass es zu einem Fehler kommt, wenn das Plugin nicht installiert ist. (Ich verschiebe nämlich einen include-Befehl. Gibt es die dahinterliegende Datei nicht, kommt es zu einem PHP-Fehler.) Wäre natürlilch praktisch, wenn der die Bearbeitung des Plugins auch nur das Plugin-File ersetzt und somit auch nur greift, wenn das Plugin installiert ist. Derzeit behelfe ich mir mit einer Variable, welche ich gefunden habe {if $swagCustomProductsTemplate}{/if} um den Include nur auszuführen, wenn das Plugin auch aktiv ist.

Hoffe jemand kennt Antworten auf meine vielen Fragen 😉

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [27. Oktober 2016 um 08:15 UTC](https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872/2 "2016-10-27T08:15:53Z")

</div>

Hast du denn vielleicht in der Theme.php die Vererbung angepasst? Siehe:&nbsp;[Getting started with Smarty](https://developers.shopware.com/designers-guide/smarty/#inheritance-and-plugin-templates)

Dann kannst du mit deinem Theme auch keine Plugins überschreiben.

---

<div class="post-metadata">

**Author:** ![dupp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/dupp/32/7715_2.png) [@dupp](https://forum.shopware.com/u/dupp)\
**Post date:** [27. Oktober 2016 um 09:51 UTC](https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872/3 "2016-10-27T09:51:04Z")

</div>

Nein, die Standardvererbung wurde nicht angepasst, sodass

```
protected $injectBeforePlugins = false;

```

besteht und das Theme nach den Plugins greift. Die oberste varainte funktioniert ja auch als einzige…

---

<div class="post-metadata">

**Author:** ![simkli](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simkli/32/13124_2.png) [@simkli](https://forum.shopware.com/u/simkli)\
**Post date:** [27. Oktober 2016 um 14:35 UTC](https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872/4 "2016-10-27T14:35:43Z")

</div>

Punkt 2 ist korrekt:

> - THEMENAME/frontend/swag\_custom\_products/detail/index.tpl - {extends file=‚parent:frontend/swag\_custom\_products/detail/index.tpl‘} –\> geht nicht

Jetzt müsstest du uns noch das „geht nicht“ etwas genauer erläutern.&nbsp; ![Wink](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink")

Am besten zeigst du uns mal den Inhalt deiner index.tpl. Gibt es eine Fehlermeldung? Werden deine Änderungen nicht angezeigt?&nbsp;

Viele Grüße

---

<div class="post-metadata">

**Author:** ![dupp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/dupp/32/7715_2.png) [@dupp](https://forum.shopware.com/u/dupp)\
**Post date:** [28. Oktober 2016 um 13:46 UTC](https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872/5 "2016-10-28T13:46:14Z")

</div>

Hallo simkli,

vielen Dank für deine Rückmeldung. Die Veränderungen sollen bewirken, dass der Wrapper von Custom Products unter der normalen Variantenkonfiguration erscheint.

**anbei die Datei unter frontend/swag\_custom\_products/detail/index.tpl:**

```
{extends file='parent:frontend/swag_custom_products/detail/index.tpl'}

{block name="frontend_detail_index_configurator"}
    {$smarty.block.smarty}

    {if $swagCustomProductsTemplate}
        {*Custom products frontend hook*}
        {block name="frontend_detail_data_swagcustomproducts"}
            {include file="frontend/swag_custom_products/detail/wrapper.tpl"}
        {/block}
    {/if}
{/block}

```

**anbei die Datei unter frontend/swag\_custom\_products/detail/data.tpl:**

```
{extends file='parent:frontend/swag_custom_products/detail/data.tpl'}

{* ...Remove Custom products frontend hook here and move to index.tpl *}
{block name="frontend_detail_data_swagcustomproducts"}{/block}

```

**Fehlermeldung: Nein keine, es wird einfach angezeigt als würde ich keinerlei Änderungen tätigen.**

---

<div class="post-metadata">

**Author:** ![Mangaclub](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@Mangaclub](https://forum.shopware.com/u/Mangaclub)\
**Post date:** [28. Oktober 2016 um 14:39 UTC](https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872/6 "2016-10-28T14:39:47Z")

</div>

ich bin auch gerade dabei zu versuchen Plugins&nbsp;zu überschreiben.

/engine/Shopware/Plugins/Community/Frontend/NetgradeAdditionalInfos/Views/frontend/listing/product-box/box-basic.tpl&nbsp;  
sollte im meinem Theme überschrieben werden , keine blocks die ausgetauscht werden.

Daszu sollte es doch reichen wenn ich&nbsp;

/themes/Frontend/MEINTHEME/frontend/NetgradeAdditionalInfos/listing/product-box/box-basic.tpl

anlege. Oder?&nbsp;

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![ahmadsaad](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@ahmadsaad](https://forum.shopware.com/u/ahmadsaad)\
**Post date:** [28. Oktober 2016 um 17:34 UTC](https://forum.shopware.com/t/swag-custom-products-in-theme-uberschreiben/40872/7 "2016-10-28T17:34:28Z")

</div>

Hallo zusammen,

ich hatte diese Probleme bevor. und die Lösung ist etwas seltsam.

Zuerst die originale Template Struktur von dem Plugin ist Falsch. Deshalb haben wir dieses Problem.

Die Struktur muss sein:&nbsp;

```
/engine/Shopware/Plugins/Community/Frontend/SwagCustomProducts/Views/frontend/plugins/swag_custom_products/detail/index.tpl

```

&nbsp;dann können wir es&nbsp;überschreiben mit

```
THEMENAME/frontend/plugins/swag_custom_products/detail/index.tpl 

```

aber mit diese falsche Struktur etwas passiert. ich weiß nicht was.

aber in meiner Seit habe ich dieses Problem behoben mit:

```
THEMENAME/swag_custom_products/detail/index.tpl

```

und in Template

```
{extends file='parent:swag_custom_products/detail/data.tpl'}

```

ich weiß nicht, ob das in Ihrer Seit auch funktionieren werde. aber probieren Sie.

Viele Grüße,

Ahmad.
