Auto-Registration für CSS/JS Dateien funktioniert nicht?

Hallo zusammen,

 

ich bin gerade dabei die Anleitung für die Erstellung eines Plugins anzugehen.

Laut dieser Anleitung: https://developers.shopware.com/developers-guide/plugin-quick-start/

Abschnitt: Frontend resources auto-registration sollten css, js, less Dateien ja automatisch eingebunden werden, seit der Version 5.2.13.

Keine Chance, funktioniert bei mir nicht, benutze Shopware 5.4.4 auf Ubuntu, IDE ist Jetbrains PhpStorm.

Keine Ahnung wie ich es sonst einbinden muss, nach dem neuen Plugin System.

Oder sollen die Dateien weiterhin in frontend/_public Ordner rein und manuell registriert werden?

 

Danke für eure Ratschläge.

 

LG

mhh, normal funktioniert das. Eventuell Groß-/Kleinschreibung der Ordner falsch? Zeig uns mal deine Ordnerstruktur (z.B. per tree)

Der Pfad/Struktur und der Name sind Entscheidend. In der all.less kannst dann alles mögliche via @import einhängen.

So klappt es gestern noch bei meinem Plugin, v 5.4.5:

Grüße

Also die Pfadstruktur ist folgendermaßen:

Die JakeOsHoerprobe.php:

 'preparePlugin'
            //'Theme_Compiler_Collect_Plugin_Css' => 'onAddCssFiles'
        ];
    }

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

        $controller = $args->get('subject');
        $view = $controller->View();
        $sArticle = $view->getAssign("sArticle");

        $config = $this->container->get('shopware.plugin.cached_config_reader')->getByPluginName('JakeOsHoerprobe');

        foreach($sArticle["sDownloads"] as $file)
        {
            if($config['useMp3'] === True and strpos($file["filename"], ".mp3") !== FALSE)
            {
                $view->assign('hoerprobe_audio', TRUE);
                $view->assign('use_mp3', TRUE);
            }
            if($config['useWav'] === True and strpos($file["filename"], ".wav") !== FALSE)
            {
                $view->assign('hoerprobe_audio', TRUE);
                $view->assign('use_wav', TRUE);
            }
            if($config['useWma'] === True and strpos($file["filename"], ".wma") !== FALSE)
            {
                $view->assign('hoerprobe_audio', TRUE);
                $view->assign('use_wma', TRUE);
            }
        }

        //$view->assign('hoerprobe_audio', TRUE);
    }

    public function onAddCssFiles()
    {
        $cssFiles = [
            $this->getPath() . '/Resources/Views/backend/_public/css/JakeOsHoerprobe.css'
        ];

        return new $cssFiles;
    }
}

Die css Datei:

.hoerprobe-button
{
    width: 100px;
    height: 100px;
}
#hoerprobe-title
{
    color: red;
}

Und die config.xml

            useMp3
            Mp3 Dateien abspielen?
            false
        
        
            useWav
            Wav Dateien abspielen?
            true
        
        
            useWma
            Wma Dateien abspielen?
            true

 

Bei onAddCssFiles steht bei dir …backend… , sollte wohl eher …frontend… sein und bei  getsubscribedEvents die // weg

@Rednaxela schrieb:

Bei onAddCssFiles steht bei dir …backend… , sollte wohl eher …frontend… sein und bei  getsubscribedEvents die // weg

Ja, aber das habe ja absichtlich auskommentiert, weil shopware ja die Dateien automatisch registrieren soll, laut Doku

Dann lies dir das bitte noch einmal aufmerksam durch: Plugin quick Startup Guide

Viele Grüße
https://www.digitvision.de

@Aquatuning GmbH schrieb:

Dann lies dir das bitte noch einmal aufmerksam durch: https://developers.shopware.com/developers-guide/plugin-quick-start/#frontend-resources-auto-registration

Viele Grüße

JA?

 

Habe ich.

Falls du darauf abzielst, dass die Pfade nicht wie in der Doku sind, die hatte ich genauso wie in der Doku gehabt, die Dateien wurden trotzdem nicht registriert. 

Dann hast du oben eine andere Pfadstruktur gezeigt… Dann zeig doch mal bitte deinen wirklich -ist- Status.

Viele Grüße
https://www.digitvision.de

Hi, mit dieser Struktur funktioniert es auch nicht.

Okay, ich habe gerade eben von 5.4.4 auf 5.4.5 upgedatet, Plugins neuinstalliert und siehe da, die Dateien werden automatisch registriert, sehr kurios das ganze.

Jetzt scheint es zu funktionieren, genau wie es in der Anleitung steht.

 

Danke an alle.