# Auf die View() zugreifen ohne Enlight\_Event\_EventArgs?

**URL:** <https://forum.shopware.com/t/auf-die-view-zugreifen-ohne-enlight-event-eventargs/23723>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [21. November 2014 um 09:37 UTC](https://forum.shopware.com/t/auf-die-view-zugreifen-ohne-enlight-event-eventargs/23723 "2014-11-21T09:37:38Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tipo](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@Tipo](https://forum.shopware.com/u/Tipo)\
**Post date:** [21. November 2014 um 09:37 UTC](https://forum.shopware.com/t/auf-die-view-zugreifen-ohne-enlight-event-eventargs/23723/1 "2014-11-21T09:37:38Z")

</div>

Guten Morgen, gibt es eine alternative Möglichkeit auf die View() zuzugreifen, um ein Template zu erweitern? Konkret geht es um `$view-\>extendsTemplate()` aber mit dem Problem, dass ich in der kleinen Helferfunktion innerhalb der Bootstrap kein Enlight\_Event\_EventArgs zur Verfügung habe. Übergebe ich der Funktion z.B. “$view” als Argument, erhalte ich folgende Fehlermeldung: `Fatal error: Call to a member function extendsTemplate() on a non-object`

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [21. November 2014 um 12:21 UTC](https://forum.shopware.com/t/auf-die-view-zugreifen-ohne-enlight-event-eventargs/23723/2 "2014-11-21T12:21:11Z")

</div>

> [@Tipo](#):
>
> Guten Morgen, gibt es eine alternative Möglichkeit auf die View() zuzugreifen, um ein Template zu erweitern? …

---

<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:** [21. November 2014 um 12:46 UTC](https://forum.shopware.com/t/auf-die-view-zugreifen-ohne-enlight-event-eventargs/23723/3 "2014-11-21T12:46:15Z")

</div>

Du musst dich doch sowieso an einen controller event hängen, um deine view zu erweitern. In deinem event hast du dann die view - und die kannst du als Parameter an deine Hilfsfunktion weiterreichen. Zeig doch mal deinen Quellcode. Viele Grüße

---

<div class="post-metadata">

**Author:** ![Tipo](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@Tipo](https://forum.shopware.com/u/Tipo)\
**Post date:** [21. November 2014 um 13:21 UTC](https://forum.shopware.com/t/auf-die-view-zugreifen-ohne-enlight-event-eventargs/23723/4 "2014-11-21T13:21:50Z")

</div>

Also so sollte es aussehen, allerdings klappt die Übergabe einfach nicht: ` private function loadTempates($view) { if ($this-\>\_cssLoaded == 0) { $view-\>extendsTemplate('frontend/plugins/' . strtolower($this-\>\_pluginName) . '/index/header.tpl'); $this-\>\_cssLoaded = 1; } } public function onPostDispatch(Enlight\_Event\_EventArgs $args) { $request = $args-\>getSubject()-\>Request(); $response = $args-\>getSubject()-\>Response(); $view = $args-\>getSubject()-\>View(); if (!$request-\>isDispatched() || $response-\>isException() || $request-\>getModuleName() != 'frontend' || !$view-\>hasTemplate()) { return; } $view-\>addTemplateDir($this-\>Path() . 'Views/'); //to avoid loading templates more then once $this-\>loadTempates($view); $view-\>extendsTemplate('frontend/plugins/' . strtolower($this-\>\_pluginName) . '/plugins/advanced\_menu/index.tpl'); }`

---

<div class="post-metadata">

**Author:** ![Tipo](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@Tipo](https://forum.shopware.com/u/Tipo)\
**Post date:** [21. November 2014 um 13:24 UTC](https://forum.shopware.com/t/auf-die-view-zugreifen-ohne-enlight-event-eventargs/23723/5 "2014-11-21T13:24:32Z")

</div>

> [@Michael Telgmann](#):
>
> Hallo Tipo, versuche mal `$view = Shopware()-\>Template(); $view-\>extendsTemplate(...);`
