Eigenes Pagelet erstellen

Ich stehe hier gerade ein bisschen auf dem Schlauch, ich versuche ein eigenes Pagelet zu erstellen. Soweit ich das verstanden habe ist das ja quasi ein Baustein den ich an mehreren Stellen im Template wieder verwenden kann und der eigene Twig Variablen vorgegeben bekommen kann. Also so eine Art „Sub Controller“.

Gibt es irgendwo eine Anleitung wie ich das am besten angehe, ich werde aus dem Aufbau der vorhandenen Pagelets nicht schlau.

Hintergrund ist eigentlich der dass ich bestimmte Plugin Einstellungen in meinem Template brauche, das geht über eine normale Page ja ganz easy. Aber wie funktioniert das mit einem Pagelet damit ich es überall includen kann?

Direkt zu Pagelets wäre es hier: https://docs.shopware.com/en/shopware-platform-dev-en/developer-guide/storefront/page-pagelet

Und mglw. helfen einige der How-Tos weiter: https://docs.shopware.com/en/shopware-platform-dev-en/how-to

Leider gibt es kein wirkliches how-to für die Pagelets, das wäre eventuell mal einen doku Eintrag wert - ich beiße mich mal durch und berichte dann

@aggrosoft schrieb:

Hintergrund ist eigentlich der dass ich bestimmte Plugin Einstellungen in meinem Template brauche

Du hast doch alle Shopware- und Plugineinstellungen in shopware.config.

Wenn ich erweiterte Daten im Template brauche (z.B. bestimmte Produkte, Listings, etc), erwereitere ich einfach die vorhandenen Pagelets. Dafür subscribe ich bspw. FooterPageletLoadedEvent und lade meine Daten in die Extension:

$crossSellingProducts = $this->productRepository->search(...);
$event->getPagelet()->addExtension('myPlugin', new ArrayEntity([
    'crossSellingProducts' => $crossSellingProducts
]));

Jetzt kann ich überall im Template darauf zugreifen: page.footer.extensions.myPlugin.crossSellingProducts

1 „Gefällt mir“

Ja danke für die Info, dass die config bereits vollständig da ist wusste ich nicht. Und das mit dem footer pagelet macht sinn, das ist ja immer da - dann brauch man kein eigenes.