Plugin JS

Hallo,

ich würde gerne ein Plugin für Shopware schreiben, um den Code sauber zu trennen anstatt direkt im Theme zu arbeiten. Bin mit Shopware aber noch nicht wirklich vertraut, da ich bisher eher mit Magento gearbeitet habe.

Wie ich ein JS File direkt in den Themes einbinde bzw ein Template extende, habe ich schon probiert und das klappt auch. Aber wenn ich das ganze in einem Plugin machen möchte, weiß ich nicht, wo innerhalb des Plugins das JS File liegen soll, damit es erreichbar ist.

Danke im Voraus

Magst Du mal hier schauen:

https://developers.shopware.com/plugin-guide/

und mehr Details hier:

https://developers.shopware.com/developers-guide/payment-plugin/#plugin-structure

Viel Erfolg!

Geert

 

1 „Gefällt mir“

Danke, habs gefunden.

Falls du evtl. hier noch einen Tipp hast:

Ich will ein eigenes Artikel Template per Plugin hinzufügen. Im Backend hab ich es hinzugefügt und kann es im Artikel auswählen. Erhalte dann auf der Produktseite aber ein “Ups! Ein Fehler ist aufgetreten!”. Wenn ich das Standard Template extende funktioniert es aber ich will die Änderungen ja nur be bestimmten Produkten und da scheint er das Template nicht zu finden.

Den Template Pfad habe ich registiert, es funktioniert ja  wie gesagt auch das extenden vom Standard Template, nur das zusätzliche findet er scheinbar nicht.

Achso, ich hatte das abweichende Ariktel Template direkt im Themes Ordner schon zum laufen bekommen, nur als Plugin will es nicht laufen.

 Vielleicht solltest du das UPs mal untersuchen. Anders wirst du da nicht weiterkommen

Tja aber was heißt “Ups!”? Woher weißt Du, dass das “nicht gefunden” bedeutet? Hast Du mal die Fehlermeldungen im Frontend eingeschaltet? Das gehört zum Entwickeln in Deine config.php

	'front' => [
		'throwExceptions' => true,
		'showException' => true
	],

	'phpsettings' => [
		'display_errors' => 1
	],

Viel Erfolg!

Geert

1 „Gefällt mir“

Ah gut zu wissen. 

Fatal error: Uncaught SmartyException: Unable to load template snippet ‘frontend/detail/configurator|frontend/plugins/seo/index.tpl’ in /var/www/test/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php on line 127

Was er bei seo/index.tpl sucht versteh ich zwar nicht aber es wie angenommen, er wird das Template nicht im Plugin Ordner suchen schätze ich mal.

 

public static function getSubscribedEvents()
    {
        return [
            'Enlight_Controller_Action_PostDispatchSecure_Frontend_Detail' => 'onDetailPostDispatch',
        ];
    }


    public function onDetailPostDispatch(\Enlight_Event_EventArgs $args)
    {
        $this->container->get('template')->addTemplateDir(
            $this->getPath() . '/Resources/views/'
        );
    }

 

@vanwittlaer‍  Ein bisschen Forensuche schadet den meisten Foristen hier sicher nicht Wink. Weisst du, wie oft diese paar Zeilen hier schon gepostet wurden (das wüsste ich wirklich gerne mal). Ich habe immer das Gefühl, dass man sich heute gar nicht mehr die Mühe macht, selbst aktiv zu werden.

Das war off topic und muss nicht kommentiert werden

@Rednaxela‍ ‍ da hast du grundsätzlich schon recht. Die Fehlermeldung findet man öfters aber habe nichts gesehen, was den Fall eines abweichenden Artikel Templates betrifft. Weil das erweitern des Standard Templates klappt ja ansich. Nur ein zusätzliches nicht.

Keiner mehr eine Idee? :confused:

Steht in der Fehlermeldung :
frontend/detail/configurator |frontend/plugins/seo/index.tpl

Anscheinend hast du das template ohne “.tpl” angelegt.

1 „Gefällt mir“

@pixeleyes-gmbh‍ ich glaube das wars wirklich. Ich hatte das eigentlich schonmal früher behoben aber scheinbar wurde das bei den Produkten nicht aktualliert. Hab jetzt nochmal die Produkte neu gespeichert und es funktioniert. Dummer Fehler…

Danke!