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.