Shopware App Entwicklung - App Scripts Template wird nicht geladen / manupuliert

Hallo,
ich arbeite mich gerade durch den Shopware App Guide und bin bei App Scripts angekommen.
Auf dieser Seite https://developer.shopware.com/docs/guides/plugins/apps/app-scripts/data-loading wird ein Beispiel beschrieben, wo ein Twig Script auf dem page loaded Event sitzt und eine dazugehörige Template Datei manipuliert wird. Das Ausführen des Scripts ist erfolgreich, allerdings wird die index.html.twig in den angegebenen Pfad (Resources/scripts/product-page-loaded/my-example-script.twig) scheinbar nicht ausgeführt. Muss man irgendetwas beachten, was auf der Seite nicht steht?

Ich bin für jede Hilfe sehr dankbar.

Die genannte index.html.twig Datei erweitert die Produkt-Detail-Page und hat eigentlich nichts mit den Scripten zu tuen.
Dementsprechend sollte die index.html.twig auch im Pfad Resources/views/storefront/page/product-detail liegen.

Du könntest in deinem Template auch einen dump ausgeben, um zu gleich zu erkennen, ob dein template geladen wird.

Hi, danke für deine Antwort. Also in dem Guide werden erst Daten im script geschrieben:

{% set page = hook.page %}
{# @var page \Shopware\Storefront\Page\Product\ProductPage #}

{# the page object if you access to all the data, e.g. the current product #}
{% do page.product ... %}

{% set myAdditionalData = {
    'example': 'just an example'
} %}

{# it also lets you add data to it, that you can later use in your storefront templates #}
{% do page.addArrayExtension('swagMyAdditionalData', myAdditionalData) %}

Um sie dann in der View auszulesen und dort wird ja in meinem Verständnis die Seite verändert:

{% sw_extends '@Storefront/storefront/page/product-detail/index.html.twig' %}

{% block page_product_detail %}
    <h1>{{ page.getExtension('swagMyAdditionalData').example }}</h1>
    
    {{ parent() }}
{% endblock %}

und das funktioniert leider nicht.

Unabhängig vom Script, solltest du auf der ProduktDetail-Seite ein h1 element sehen.

Ist diese denn vorhanden?

Wenn nein ggf. Caches leeren.

In welchem Pfad befindet sich deine index.html.twig?

Ansonsten würde ich noch die Versionsnummer der App erhöhen und eine Aktualisierung der App vornehmen.

Hi,
ich habe die App deinstalliert und neu installiert und nun funktioniert es. Bedeutet das, dass ich für jede Änderung der index.html.twig Datei diese Prozedur wiederholen muss? Das kann doch nicht sein. Aber immerhin funktioniert es, auch wenn kompliziert.

Danke für deine Hilfe.

Edit: Okay 1 mal deinstallieren und neu installieren war ausreichend. Dennoch seltsames Verhalten.

Versionsnummer der App erhöhen und eine Aktualisierung vornehmen sollte das Problem auch lösen.

1 „Gefällt mir“