# Frage zu einem der Plugin Tutorials

**URL:** <https://forum.shopware.com/t/frage-zu-einem-der-plugin-tutorials/26833>\
**Category:** Programmierung\
**Created:** [4. Mai 2015 um 06:03 UTC](https://forum.shopware.com/t/frage-zu-einem-der-plugin-tutorials/26833 "2015-05-04T06:03:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![benblub](https://avatars.discourse-cdn.com/v4/letter/b/ebca7d/32.png) [@benblub](https://forum.shopware.com/u/benblub)\
**Post date:** [4. Mai 2015 um 06:03 UTC](https://forum.shopware.com/t/frage-zu-einem-der-plugin-tutorials/26833/1 "2015-05-04T06:03:44Z")

</div>

Frage: An welcher Stelle muss das neue Template dir eingebunden werden? [quote]$view-\>loadTemplate(‚frontend/swag\_availability\_check/get\_availability.tpl‘);[/quote] [quote]Damit diese Informationen auch im Frontend angezeigt werden, müssen wir natürlich auch ein Template laden. Da in dem Plugin die Shopware-Ordnerstruktur vom Template eingehalten wurde, was bedeutet, dass wir unter SwagAvailabilityCheck/Views/widgets/swag\_availability\_check/ ein Template mit genau dem Namen der angesprochenen Controller Action angelegt haben (get\_availability.tpl). Dieses Template wird automatisch vom Controller geladen. Sollte sich das Template an einem anderen Ort befinden, der nicht der Standard Shopware Struktur entspricht, könnte das Template wie folgt geladen werden: $view-\>loadTemplate(‚frontend/swag\_availability\_check/get\_availability.tpl‘);[/quote] Will ansich einen eigenen Namespace für die Widgets nutzen, neben dem Anpassen der Bootstrap und der Ordnerstruktur sollte es an dem Punkt noch Haken denke ich, nur mit den beiden Änderungen versucht er weiterhin auf den alten Pfad zuzugreifen… 😕

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [4. Mai 2015 um 20:15 UTC](https://forum.shopware.com/t/frage-zu-einem-der-plugin-tutorials/26833/2 "2015-05-04T20:15:30Z")

</div>

Hi, grundsätzlich musst du immer mit addTemplateDir() dein „Views“-Verzeichnis registrieren. Am besten schon, wenn du den Controller registriert (in dem Event-Callback). Dann gibt es zwei Szenarien: 1) Controller/Action: Shopware\_Controllers\_Frontend\_MyTest::testAction TemplateName: frontend/my\_test/test.tpl Wenn dein Template so im View-Verzeichnis abgelegt ist, lädt Shopware es \_\_automatisch\_\_. 2) Wenn der Template-Pfad nicht auf die oben beschriebene Weise zum Controller-Namen passt, kannst du es mit „loadTemplate“ explizit laden, am besten in deiner Controller-Action \_\_bevor\_\_ du Variablen assignst. Meintest du das? Daniel

---

<div class="post-metadata">

**Author:** ![benblub](https://avatars.discourse-cdn.com/v4/letter/b/ebca7d/32.png) [@benblub](https://forum.shopware.com/u/benblub)\
**Post date:** [5. Mai 2015 um 06:06 UTC](https://forum.shopware.com/t/frage-zu-einem-der-plugin-tutorials/26833/3 "2015-05-05T06:06:50Z")

</div>

jup ansich meinte ich das und hilft auch erstmal weitder, heute mal testen. Ich komme noch nicht ganz draus warum er es automatisch zuordnen kann, sind ja ansich 2 verschiedene Schreibweisen [quote]MyTest my\_test[/quote]

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [5. Mai 2015 um 07:49 UTC](https://forum.shopware.com/t/frage-zu-einem-der-plugin-tutorials/26833/4 "2015-05-05T07:49:04Z")

</div>

Hi, es gibt einen sog. “ViewRenderer”, der das automatisch im PreDispatch eines Controllers macht: ` foreach ($parts as &$part) { $part = preg\_replace('#[A-Z]#', '\_$0', $part); $part = trim($part, '\_'); $part = strtolower($part); }` (\Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap::getTemplateName) Daniel
