# Probleme mit View() in der Plugin Entwicklung

**URL:** <https://forum.shopware.com/t/probleme-mit-view-in-der-plugin-entwicklung/24930>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [5. Februar 2015 um 14:37 UTC](https://forum.shopware.com/t/probleme-mit-view-in-der-plugin-entwicklung/24930 "2015-02-05T14:37:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bastler123](https://avatars.discourse-cdn.com/v4/letter/b/ecb155/32.png) [@Bastler123](https://forum.shopware.com/u/Bastler123)\
**Post date:** [5. Februar 2015 um 14:37 UTC](https://forum.shopware.com/t/probleme-mit-view-in-der-plugin-entwicklung/24930/1 "2015-02-05T14:37:16Z")

</div>

Hallo Ich experimentier ein wenig mit der Plugin Entwicklung und steh nun etwas an. Ich hab die Ausgabe meines Plugins imn der Bootstrap in der Variable $xyz bereit liegen. Soweit funktioniert das Plugin auch, wenn ich in der Template Datei {$xyz} angebe. Allerdings will ich natürlich, dass die Templatedatei vom Benutzer nicht überschrieben werden muss, sondern die endsprechende, in meinem Fall box\_article.tpl durch das Plugin automatisch ersetzt wird. Die nötige Ordnerstruktur habe ich in meinem Plugin angelgt. Mit $view = $args-\>getSubject()-\>View(); $view-\>addTemplateDir($this-\>Path() . ‘Views/’); $view-\>test= $article[‘test’]; $view-\>extendsTemplate(‘frontend/plugins/test/listing/box\_article.tpl’); $view-\>assign(‘test’,$article[‘test’]); bekomme ich allerdings folgende Fehlermeldung: Fatal Error: Call to undefined method Shopware\_Proxies\_sArticlesProxy::View() Ich versteh das so, dass das View() Objekt in meinem Event Shopware\_Modules\_Articles\_sGetArticlesByCategory\_FilterLoopEnd nicht zur Verfügung steht. Funktionieren würde das View in Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Listing allerdings steht da sArticles wiederum nicht zur Verfügung, was ich jedoch benötige. Irgendwie steh ich auf der Leitung und bitte um Hilfe Danke

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [5. Februar 2015 um 14:44 UTC](https://forum.shopware.com/t/probleme-mit-view-in-der-plugin-entwicklung/24930/2 "2015-02-05T14:44:18Z")

</div>

Die Klasse sArticles ist eine Komponenten, die die view weder braucht, noch kennt. Die view ist nur innerhalb eines controller verfügbar. Hier hast du einen Bock im Konzept. Viele Grüße

---

<div class="post-metadata">

**Author:** ![Bastler123](https://avatars.discourse-cdn.com/v4/letter/b/ecb155/32.png) [@Bastler123](https://forum.shopware.com/u/Bastler123)\
**Post date:** [5. Februar 2015 um 14:58 UTC](https://forum.shopware.com/t/probleme-mit-view-in-der-plugin-entwicklung/24930/3 "2015-02-05T14:58:00Z")

</div>

Das nicht, aber ich hab nun mal meine public function onPostDispatchListing(Enlight\_Event\_EventArgs $args) welche die $sArticles benötigt und mir das Ergebnis in $xyz ausgibt. und in der selben Funktion mein view(). Registrier ich die Funktion mit dem Shopware\_Modules\_Articles\_sGetArticlesByCategory\_FilterLoopEnd Event, dann bekome ich obige Fehlermeldung Nehm ich aber Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Listing dann hab ich keine Artikelinformationen und meine Plugin bleibt wirkungslos Soll ich eine eigene Funktion für den view machen?

---

<div class="post-metadata">

**Author:** ![Bastler123](https://avatars.discourse-cdn.com/v4/letter/b/ecb155/32.png) [@Bastler123](https://forum.shopware.com/u/Bastler123)\
**Post date:** [5. Februar 2015 um 17:21 UTC](https://forum.shopware.com/t/probleme-mit-view-in-der-plugin-entwicklung/24930/4 "2015-02-05T17:21:07Z")

</div>

OK, konnte es nun selbst lösen habe 2 unterschiedliche Funktionen $this-\>subscribeEvent( ‘Enlight\_Controller\_Action\_Frontend\_Listing\_Index’, ‘onPostDispatchListing’ ); $this-\>subscribeEvent( ‘Shopware\_Modules\_Articles\_sGetArticlesByCategory\_FilterLoopEnd’, ‘ShopwareModulesArticlesGetArticlesByCategoryFilterLoopEnd’ ); die erste fürs Laden der Views, die zweite für die Bearbeitung der sArticles Damit funktioniert es jetzt.😛 Aber wie kann ich eine CSS Datei in mein Plugin einbinden? Muss ich das auch über View machen? Brauch ich dafür ein weiteres Event? Da ich ja die header.tpl ersetzen müsste und diese vermutlich beim Zünden von Enlight\_Controller\_Action\_Frontend\_Listing\_Index bereits existiert Keine Ahnung ob ihr wisst was ich meine

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [5. Februar 2015 um 17:25 UTC](https://forum.shopware.com/t/probleme-mit-view-in-der-plugin-entwicklung/24930/5 "2015-02-05T17:25:32Z")

</div>

du nimmst die TPL welche du bereites einfügst und nutzt den Smaty Block umd deine eigene CSS einzubinden. {block name=“frontend\_index\_header\_css\_screen” append} Deine CSS {/block}
