Template-Blöcke
Das Widget wird über Standard-Shopware-Twig-Includes gerendert. Wenn die Platzierungs-Drop-downs nicht in Ihr Theme passen, können Sie die Templates aus Ihrem eigenen Theme-Plugin / App erweitern.
Storefront-Templates des Plugins
Abschnitt betitelt „Storefront-Templates des Plugins“| Datei | Zweck |
|---|---|
storefront/p2lab/widget/estimated-delivery.html.twig | Widget-Container. Iteriert über die aktiven Komponenten (Nachricht / Uhr / Schritte) und inkludiert jede. |
storefront/p2lab/widget/component/message.html.twig | Nachrichten-Komponente |
storefront/p2lab/widget/component/clock.html.twig | Uhr-Komponente (Default und Compact, Default und Boxes-Varianten) |
storefront/p2lab/widget/component/steps.html.twig | Schritte-Komponente |
storefront/p2lab/widget/media.html.twig | Helper zum Rendern von Icon-Media |
storefront/block/cms-block-p2lab-cms-estimated-delivery.html.twig | CMS-Block-Wrapper |
Seiten, an die sich das Plugin anhängt
Abschnitt betitelt „Seiten, an die sich das Plugin anhängt“Das Plugin liefert Theme-Erweiterungen für diese Seiten:
| Datei | Storefront-Seite |
|---|---|
storefront/page/product-detail/buy-widget.html.twig | Buy-Widget der Produktseite |
storefront/page/checkout/cart/index.html.twig | Warenkorb |
storefront/page/checkout/confirm/index.html.twig | Checkout-Bestätigung |
storefront/page/checkout/address/index.html.twig | Checkout-Adresse (Inline-Registrierung) |
Jede Seitenerweiterung respektiert das Drop-down Placement position ihrer Tab — wenn disabled gewählt ist, rendert die Erweiterung nichts.
Manuelles Rendern des Widgets
Abschnitt betitelt „Manuelles Rendern des Widgets“Wenn Sie das Widget an einer Stelle benötigen, die das Plugin noch nicht abdeckt, inkludieren Sie das Widget-Template direkt aus Ihrem Theme:
{% sw_include "@P2LabEstimatedDelivery/storefront/p2lab/widget/estimated-delivery.html.twig" with { p2labEstimatedDeliveryCmsBlock: null} %}Das Widget rechnet sich selbst mit der gleichen Settings-/Widget-/Translation-Konfiguration wie der Rest des Storefronts aus. Das Übergeben eines Non-Null-CMS-Blocks aktiviert den “inherit from product”-Pfad, dokumentiert unter Storefront → CMS-Block.
HTML überschreiben
Abschnitt betitelt „HTML überschreiben“Jeder Twig-Block in den Widget-Templates verwendet die Konvention p2lab_estimated_delivery_…, sodass Sie sie mit dem Standard-Shopware-Override-Muster erweitern können. Beispiel zum Umschließen der Nachricht:
{# Resources/views/storefront/p2lab/widget/component/message.html.twig #}{% sw_extends '@P2LabEstimatedDelivery/storefront/p2lab/widget/component/message.html.twig' %}
{% block p2lab_estimated_delivery_widget_message %} <div class="my-theme__delivery-banner"> {{ parent() }} </div>{% endblock %}Das hält Sie auf dem unterstützten Template-Pfad und überlebt Plugin-Updates, solange sich die Block-Namen nicht ändern.
CSS-Hooks
Abschnitt betitelt „CSS-Hooks“Jedes Widget-Element hat einen stabilen BEM-Klassennamen mit dem Präfix p2lab-estimated-delivery__ — z. B. p2lab-estimated-delivery__widget-clock__compact-info oder p2lab-estimated-delivery__widget-steps__list-item. Style-Overrides in Ihrem Theme zielen direkt auf diese Klassen.