Plugin-CSS nicht mehr bei SW 5.2.6 sichtbar

Haben eigende Plugins, wo auch zusätzlich CSS und JS eingebunden wurde. Bei einem Test mit einem SW 5.2.6 ist uns aufgefallen, dass überhaupt kein CSS uns JS mehr eingebunden wird. Das Einbinden geschieht über die Bootstrap.php und sah bisher so aus:

  public function addLessFiles(Enlight_Event_EventArgs $args) {
    $less = new \Shopware\Components\Theme\LessDefinition( 
      array(),
      array( __DIR__. '/Views/_resources/less/all.less' ),
      __DIR__
    );
    return new Doctrine\Common\Collections\ArrayCollection(array($less));
  }

Was hat sich bei 5.2.6 so verändert? Oder gab es schon vor 5.2.6 eine Änderung? Wie ist jetzt die Lösung die auch noch 5.1.x kompatible ist? 

 

@R4M schrieb:

Haben eigende Plugins, wo auch zusätzlich CSS und JS eingebunden wurde. Bei einem Test mit einem SW 5.2.6 ist uns aufgefallen, dass überhaupt kein CSS uns JS mehr eingebunden wird. Das Einbinden geschieht über die Bootstrap.php und sah bisher so aus:

public function addLessFiles(Enlight_Event_EventArgs $args) {
$less = new \Shopware\Components\Theme\LessDefinition(
array(),
array( DIR. ‘/Views/_resources/less/all.less’ ),
DIR
);
return new Doctrine\Common\Collections\ArrayCollection(array($less));
}

Was hat sich bei 5.2.6 so verändert? Oder gab es schon vor 5.2.6 eine Änderung? Wie ist jetzt die Lösung die auch noch 5.1.x kompatible ist? 

 

Hallo,

ich kann dein Verhalten nicht bestätigen, auch unter Shopware Version 5.2.6 funktioniert das Einbinden von LESS-Dateien auf diesem Weg. Der CSS-Code wird auch ausgeliefert und angewendet.

Vielleicht solltest du auch lieber einmal einen Shopware - konformen Pfad probieren:

__DIR__. '/Views/responsive/frontend/_public/src/less/all.less'

Aber wie erwähnt: funktioniert beides immernoch so und problemlos unter Shopware Version 5.2.6.

Beste Grüße

Sebastian

Komisch, ich dachte an deiser Stelle wäre der Pfad egal, aber ich teste das mal.

Ich habs heraus gefunden. Also der Pfad, wie bereits erwähnt, ist hier nicht ganz so wichtg. Aber, ich muss nach dem Install vom Plugin das Theme kompilieren. Muss ich nur noch heraus bekommen wie ich das automatisch übers Plugin machen kann.

*Absoluter Laie ich bin* guck doch mal, wie das PayPal-Plugin das z.B.macht:

$cacheManager = Shopware()->Container()->get('shopware.cache_manager');
$cacheManager->clearThemeCache();

Das führte mich zum Ziel.

Hallo R4M,

stattdessen kannst du auch folgendes am Ende der install Methode machen:

public function install()
{
    ...

    return ['success' => true, 'invalidateCache' => ['template', 'theme']];
}

Dadurch bekommt der Shopbetreiber nach der Installation eine Abfrage, ob er den Cache leeren möchte und im Anschluss wird auch das Theme neu kompiliert.

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 Like

Ah Danke, werde ich mir mal vormerken.