Servus Leute,
ich bin gerade dabei mir ein eigenes Theme zu bauen.
Ich war/ bin kompletter Anfänger und hänge mich wirklich in das Thema rein. HTML und CSS habe ich mir mittlerweile in kurzer Zeit in mich rein geprügelt, nur langsam raucht mir wirklich der Kopf und ich hoffe ihr könnt mir ein wenig unter die Arme greifen
SSCS Variablen oder auch Text, der in der Konfiguration eingegeben wird (z.B. eine Überschrift) im Frontend ausgeben zu lassen, habe ich bereits abgehakt.
Mit dem Thema Medien tue ich mich allerdings schwer…
In der Konfiguration bei meinem Theme, soll man eine SVG hochladen können. Dieses soll dann im Frontend an entsprechender Stelle ausgegeben werden.
Hier bekomme ich allerdings nur einen Zahlencode angezeigt, was wohl die ID zu dem Bild ist.
Mit Hilfe von https://developer.shopware.com/docs/guides/plugins/plugins/plugin-fundamentals/custom-fields-of-type-media?_ga=2.206182291.1699250513.1623010063-1833833424.1620905653
versuche ich nun die mir das Bild bzw. die SVG Datei im Frontend anzeigen zu lassen.
Komme aber einfach nicht weiter.
Ich möchte eine Art Footer-TopBar einrichten.
Meine Subscriber.php sieht folgender Maßen aus:
<?php declare(strict_types=1);
namespace FlavorMenthaTheme\Subscriber;
use Shopware\Storefront\Pagelet\Footer\FooterPageletLoadedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Shopware\Core\System\SystemConfig\SystemConfigService;
use Shopware\Core\Framework\Struct\ArrayEntity;
class StorefrontSubscriber implements EventSubscriberInterface{
/** @var SystemConfigService */
private $systemConfigService;
public function __construct(SystemConfigService $systemConfigService) {
$this->systemConfigService = $systemConfigService;
}
public static function getSubscribedEvents(): array{
return [
FooterPageletLoadedEvent::class => 'onFooterPageletLoaded'
];
}
public function onFooterPageletLoaded(FooterPageletLoadedEvent $event): void {
$systemConfig = $this->systemConfigService->getDomain('FlavorMenthaTheme');
$event->getPagelet()->addExtension('flavorNewSettings', new ArrayEntity($systemConfig));
}
}
In meiner html.twig ist folgender Code (Ausschnitt):
<div class="footer-bar-headline">
{{ page.footer.extensions['flavorNewSettings'].get('FlavorMenthaTheme.config.footerbarheadline') }}
</div>
<div class="footer-bar-content">
<div class="footer-bar-icon firstblock">
{{ page.footer.extensions['flavorNewSettings'].get('FlavorMenthaTheme.config.footerbariconnumber') }}
</div>
<div class="footer-bar-icon secondblock">
</div>
Meine config.xml (Ausschnitt):
<component name="sw-media-field">
<name>footerbariconnumber</name>
Was muss ich denn in meine subscriber.php und in meine html.twig Datei genau eingeben?
Vielen lieben Dank vorab