# Plugin erweitern

**URL:** https://forum.shopware.com/t/plugin-erweitern/53273
**Category:** Programmierung
**Created:** [5. Juni 2018 um 08:06 UTC](https://forum.shopware.com/t/plugin-erweitern/53273 "2018-06-05T08:06:17Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![response\_sascha](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@response\_sascha](https://forum.shopware.com/u/response_sascha)
#### Post date: [5. Juni 2018 um 08:06 UTC](https://forum.shopware.com/t/plugin-erweitern/53273/1 "2018-06-05T08:06:17Z")

</div>

Hallo zusammen,

ich erweitere gerade ein Plugin, welches im Ordner custom liegt. Es scheint allerdings so zu sein, dass mein Plugin die falsche tpl überschreibt und somit nicht die des zu erweiternden Plugins.

```
 'onPreDispatch',
            'Theme_Compiler_Collect_Plugin_Less' => 'onGetLess',
        ];
    }
    
    public function onPreDispatch(Enlight_Event_EventArgs $arguments)
    {
        $controller = $arguments->getSubject();
        $controller->View()->addTemplateDir( __DIR__. '/Views');
        $controller->View()->extendsTemplate('frontend/listing/box_article.tpl');
    }

    /**
     * @return ArrayCollection
     */
    public function onGetLess()
    {
        $less = new LessDefinition(
            [],
            [$this->getPath() . '/Views/frontend/_public/src/less/variationPreview.less'],
            $this->getPath()
        );

        return new ArrayCollection([$less]);
    }

    public function enable()
    {
        return [
            'success' => true,
            'invalidateCache' => ['backend', 'frontend', 'theme']
        ];
    }

    public function disable()
    {
        return [
            'success' => true,
            'invalidateCache' => ['backend', 'frontend', 'theme']
        ];
    }
}

```

&nbsp;

&nbsp;

Ich versuche, die box\_article.tpl des Plugins zu überschreiben, glaube aber, dass das extend hier falsch ist bzw. dieses den falschen Pfad nimmt:

```
{extends file="parent:frontend/listing/box_article.tpl"}

{block name="frontend_listing_box_article_includes"}
    {if !$sArticle.tcinn_variants ||
        (!$tc_vil_is_enabled_in_sliders && $productBoxLayout == 'slider')}
        {$smarty.block.parent}
    {else}
        
            {$smarty.block.parent}
        
        {$originalSArticle = $sArticle}
        {foreach $originalSArticle.tcinn_variants as $variant}
            {$sArticle = $variant}
            
                {$smarty.block.parent}
            
        {/foreach}
        {$sArticle = $originalSArticle}
        
            {if $sArticle.tcinn_variant_areas['left']}
                {$bar_variant_options = $sArticle.tcinn_variant_areas['left']}
                {$bar_config = $tc_vil_bar_configs.left}
                
					{strip}
                    
                        {$sArticle.tcinn_variant_areas_meta['left']['title']}
                        {foreach $bar_variant_options as $option}
                            
                                {if $option.thumbnail}
                                    
                                {else}
                                    
                                        {$option.optionname}
                                    
                                {/if}
                            
                        {/foreach}
                        {if $sArticle.tc_vil_left_has_plus}
                            
                                
                                    +
                                
                            
                        {/if}
                    
					{/strip}
                
            {/if}
            {if $sArticle.tcinn_variant_areas['right']}
                {$bar_variant_options = $sArticle.tcinn_variant_areas['right']}
                {$bar_config = $tc_vil_bar_configs.right}
                
					{strip}
                    
                        {foreach $bar_variant_options as $option}
                            
                                {if $option.thumbnail}
                                    
                                {else}
                                    
                                        {$option.optionname}
                                    
                                {/if}
                            
                        {/foreach}
                        {if $sArticle.tc_vil_right_has_plus}
                            
                                
                                    +
                                
                            
                        {/if}
                    
					{/strip}
                
            {/if}
            {if $sArticle.tcinn_variant_areas['bottom']}
                {$bar_variant_options = $sArticle.tcinn_variant_areas['bottom']}
                {$bar_config = $tc_vil_bar_configs.bottom}
                
					{strip}
                    
                       	{$sArticle.tcinn_variant_areas_meta['bottom']['title']}
                        {foreach $bar_variant_options as $option}
                            
                                {if $option.thumbnail}
                                    
                                {else}
                                    
                                        {$option.optionname}
                                    
                                {/if}
                            
                        {/foreach}
                        {if $sArticle.tc_vil_bottom_has_plus}
                            
                                
                                    +
                                
                            
                        {/if}
                    
					{/strip}
                
            {/if}
        
    {/if}
{/block}

```

&nbsp;

---

<div class="post-metadata">

### Author: ![response\_sascha](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@response\_sascha](https://forum.shopware.com/u/response_sascha)
#### Post date: [5. Juni 2018 um 08:06 UTC](https://forum.shopware.com/t/plugin-erweitern/53273/2 "2018-06-05T08:06:53Z")

</div>

Hat eventuell jemand eine Idee, wo der Fehler liegen könnte?

---

<div class="post-metadata">

### Author: ![derwunner](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@derwunner](https://forum.shopware.com/u/derwunner)
#### Post date: [5. Juni 2018 um 10:51 UTC](https://forum.shopware.com/t/plugin-erweitern/53273/3 "2018-06-05T10:51:49Z")

</div>

Hallo,

&nbsp;

was heißt denn, dass es die falsche tpl Datei überschreibt? Stimmt einfach die Reihenfolge nicht oder hast du eine komplett falsche Datei ausgewählt?

&nbsp;

Bei dem Reihenfolge Problem gibt es Abhilfe: Du kannst bei den Events eine Verarbeitungsreihenfolge in Form von numerischen Werten angeben. Dein Wert muss einfach höher sein, als der vom vorhergehenden Plugin.

&nbsp;

Meiner Ansicht nach bräuchtest du dafür nicht mal ein Plugin, das müsste im Theme auch gehen, wenn injectBeforePlugins auf false steht.

&nbsp;

&nbsp;

MFG

&nbsp;

derwunner

---

<div class="post-metadata">

### Author: ![response\_sascha](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@response\_sascha](https://forum.shopware.com/u/response_sascha)
#### Post date: [5. Juni 2018 um 13:17 UTC](https://forum.shopware.com/t/plugin-erweitern/53273/4 "2018-06-05T13:17:13Z")

</div>

Hallo,

es scheint ein Problem mit der Reihenfolge zu geben. Hast Du einen Tipp, wie ich die Verarbeitungsreihenfolge ändern kann?  
injectBeforePlugins muss leider auf true stehen bleiben…

---

<div class="post-metadata">

### Author: ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)
#### Post date: [5. Juni 2018 um 15:29 UTC](https://forum.shopware.com/t/plugin-erweitern/53273/5 "2018-06-05T15:29:56Z")

</div>

```
public static function getSubscribedEvents() {
  return [
    'EVENTNAME' => ['myFunction', 10]
  ];
}

```

&nbsp;

---

<div class="post-metadata">

### Author: ![response\_sascha](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@response\_sascha](https://forum.shopware.com/u/response_sascha)
#### Post date: [6. Juni 2018 um 06:32 UTC](https://forum.shopware.com/t/plugin-erweitern/53273/6 "2018-06-06T06:32:59Z")

</div>

Vielen Dank,

leider funktioniert auch das nicht richtig. Ich werde den Plugin-Hersteller nochmals befragen.

---

<div class="post-metadata">

### Author: ![derwunner](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@derwunner](https://forum.shopware.com/u/derwunner)
#### Post date: [6. Juni 2018 um 07:25 UTC](https://forum.shopware.com/t/plugin-erweitern/53273/7 "2018-06-06T07:25:19Z")

</div>

Du musst mit der Priorität spielen, solange bis es passt.

---

<div class="post-metadata">

### Author: ![morty](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@morty](https://forum.shopware.com/u/morty)
#### Post date: [9. Januar 2019 um 13:55 UTC](https://forum.shopware.com/t/plugin-erweitern/53273/8 "2019-01-09T13:55:43Z")

</div>

> [@derwunner schrieb:](https://forum.shopware.com/profile/25468/derwunner "derwunner")
> 
> Bei dem Reihenfolge Problem gibt es Abhilfe: Du kannst bei den Events eine Verarbeitungsreihenfolge in Form von numerischen Werten angeben. Dein Wert muss einfach höher sein, als der vom vorhergehenden Plugin.

Ich habe gerade eben die Reihenfolge von Listenern erfolgreich geändert. Anders als hier beschrieben war mir das&nbsp;jedoch nur möglich, wenn die Priorität kleiner war als alle anderen.

Wird keine Priorität eingetragen wird standardmäßig 0 angenommen, weshalb ich nur mit einer negativen Zahl erfolgreich war:

```
public static function getSubscribedEvents() {
  return [
    'EVENTNAME' => ['myFunction', -10]
  ];
}

```

Viele Grüße,  
Morty
