Mahlzeit allerseits!
Wenn ich mittels createMediaField() eine Variable (z.B. “foobar”) in einer eigenen Theme.php belege, die dann auf den virtuellen Pfad einer Bilddatei verweist, kann ich in Smarty-Templates mit “$theme.foobar” darauf zugreifen und erhalte den vollständigen Pfad bzw. die absolute URL. So weit so gut.
Nun würde ich gerne auch in .less-Dateien auf vergleichbare Art und Weise auf den vollständig aufgelösten Dateipfad bzw. die URL zugreifen. Allerdings liefert mir im .less-Code ein “@foobar” nur den virtuellen Pfad - sozusagen vor der Auflösung durch den MediaService - und ein schlichtes “@theme.foobar” existiert im Kontext von .less-Dateien nicht.
Das manuelle Auflösen mit…
Shopware()->Container()->get('shopware_media.media_service')->getUrl($foobar);
… (z.B. in der Bootstrap.php eines Plugins) liefert auch den absoluten Pfad bzw. die passende URL zum Bild. Aber wie stößt man das in der Theme.php an (wenn überhaupt… die Klasse Theme bietet dafür eine Interface an)? In der eigenen Theme.php kann man sich ja leider nicht so einfach mit einem Callback an Events hängen (z.B. “Theme_Configurator_Theme_Config_Saved”).
Besten Dank im voraus für Eure Hilfe!
Gruß…
MacSlow