Hi zusammen,
Shopware 6 ist mit so vielen BC der perfekte Zeitpunkt so gut wie alles neu zu bauen oder zu überdenken. Dabei haben wir uns intern gefragt wie man Plugins und deren SASS/CSS Struktur besser gestalten kann. Hat man im Live System einen Fehler, weiß man erstmal nicht wo man das ganze findet (welche scss Datei). Hier wäre es sinnvoll direkt einen Hinweis auf das entsprechende Plugin zu haben.
Um hier nicht ständig einen prefix zu wiederholen, kann man in SASS ja sowas einführen:
$plugin-prefix: is--plugin-miho-community;
.#{$plugin-prefix}-box {
background-color: #00dd1c;
}
miho : Pluginprefix
community : Controller etc.
Im Controller könnte man eine Konstante nutzen, welche man dann entsprechend an die Views übergibt.
const PLUGIN_PREFIX = 'is--plugin-miho-community';
$this->render('page/index.html.twig', [
'plugin_prefix' => self::PLUGIN_PREFIX
]);
und dort in Twig nutzt:
Oder man kann ja auch auch Konstanten direkt in Twig zugreifen, falls man den Weg gehen möchte, dass ist der Basisklasse des Plugins zu definieren.
{{ constant('Namespace\\Classname::CONSTANT_NAME') }}
So verhindert man Overrides von anderen Plugins und spart sich das nachdenken, welchen prefix man nochmal im anderen View genutzt hat. Habe es schon sehr oft gesehen, dass in plugins x-verschiedene Namings benutzt wurden (und bestimmt habe ich das auch schon x-mal vergessen)
Seht Ihr hier Fehlerquellen? Wie könnte man das ganze optimieren? Ist es etwas was man in den Style Guide integrieren könnte?