[Gelöst] Eigenes ExtJS Backendmodul findet Template Snippet nicht

Ich versuche gerade etwas tiefer in das erstellen von ExtJS-Backend-Modulen einzusteigen.

Hierzu habe ich mir ein kleines Plugin geschrieben das zunächst einen eigenen Menüpunkt registert. In der menu.xml habe ich einen Controller definiert.

        Password Manager
        Password Manager
        PasswordManager
        index

Der referenzierte Controller liegt in folgendem Verzeichniss:

custom/plugins/PasswordManager/Controllers/Backend/PasswordManager.php

Die notwendige app.js liegt hier:

custom/plugins/PasswordManager/Resources/Views/backend/password_manager/app.js

Rufe ich den oben definierten Menüpunkt oder /backend/PasswordManager?file=app auf, erhalte ich eine Fehlermeldung:

Unable to load template snippet 'backend/password_manager/app.js'

Was mache ich falsch?

Probier es mal mit Kleinschreibung des Ordners “views”.

Viele Grüße

1 Like

Danke für den Hinweis! Das habe ich aber schon –leider ohne Erfolg– ausprobiert.

Ich habe das Problem inzwischen gelöst. Ich habe vergessen das Views-Verzeichniss zu registrieren. Ich bin irtümlicherweise davon ausgegangen das solche Sachen –analog des Controllers– automatisch geladen werden. Nun ja…

class PasswordManager extends Plugin
{

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

    public function preparePlugin()
    {
        $this->container->get('Template')->addTemplateDir(
            $this->getPath() . '/Resources/Views/'
        );
    }

}

 

Hallo,

wenn die Views-Verzeichnisse immer automatisch geladen werden würden, wie würdest du es dann lösen wollen, wenn du das Plugin beispielsweise für verschiedene Shopware - Versionen anbietest? Gerade da könnte man die Version prüfen und dann entweder das eine oder das andere View-Verzeichnis einbinden lassen. Es ergibt also wenig Sinn, dass das View-Verzeichnis automatisch eingebunden werden sollte. Es steht aber so und so auch in jeder Anleitung, das man das View - Verzeichnis registrieren muss: Plugin quick Startup Guide .

Beste Grüße

Sebastian