Header für Landing Page mit bestimmter URL ausblenden

Hallo zusammen,

ich würde gerne eine Shopware 6 Landingpage als Landingpage für eine Facebook Kampagne nutzen. Dafür möchte ich den Header und die Navigation ausblenden, also die Elemente und

. Die Elemente sollen nur auf einer Landingpage mit einer bestimmten URL (shopurl/newsletter) ausgeblendet werden.

Ich habe versucht, in der Datei base.html.twig die o.g. Elemente auszublenden, wenn eine bestimmte Bedingung erfüllt ist. Ich scheitere jedoch daran, die aktuelle URL zu erhalten.

{% block base_header %}
    <header class="header-main">
        
        {% set route = app.request.schemeAndHttpHost %}
        <script>alert("Current Path: " . path(‚frontend.home.page‘) ); </script>


        {% if Pfad der aktuellen Seite == shopurl/newsletter %}
            {% block base_header_inner %}
                <div class="container">
                    {% sw_include '@Storefront/storefront/layout/header/header.html.twig' %}
                </div>
            {% endblock %}
        {% endif %}
    </header> 
{% endblock %}

Hat jemand einen Tipp für mich, wie ich das umsetzen kann? Gerne auch eine elegantere Lösung :wink:

Danke und viele Grüße.

app.request.pathinfo

Hallo Max_Shop,
vielen Dank für die schnelle Antwort.
Ganz anfängerlike muss ich leider trotzdem nochmal nachhaken, da ich es noch nicht hinbekomme.

Wie kann ich die Variable einfach mal ausgeben? Oder wie genau müsste meine If-Abfrage aussehen? Aktuell bekomme ich höchstens ein undefined zurück.

<script>alert( app.request.pathinfo ); </script>

Wie jede andere twig Variable auch per {{ var }}

In deinem Fall

<script>alert( {{ app.request.pathinfo }} ); </script>

@grundschulmaterial Hast du es inzwischen hingekommen würdest die Lösung mit uns teilen?

Nein, leider nicht. Muss ich dies Variable noch irgendwo übergeben, damit ich sie dort nutzen kann? Wenn ich sie versuche auszugeben, kommt gar kein Alert mehr hoch.

{% sw_extends '@Storefront/storefront/base.html.twig' %} 
 
 {% block base_header %}
    <header class="header-main">
        
        <script>alert({{ app.request.pathinfo }}); </script>

        {% if (1==0) %}
            {% block base_header_inner %}
                <div class="container">
                    {% sw_include '@Storefront/storefront/layout/header/header.html.twig' %}
                </div>
            {% endblock %}
        {% endif %}
    </header> 
{% endblock %}

{% block base_navigation %}
    <div class="nav-main">
        {% if (1==0) %}
            {% block base_navigation_inner %}
                {% sw_include '@Storefront/storefront/layout/navigation/navigation.html.twig' %}
            {% endblock %}
        {% endif %}
    </div>
{% endblock %}

Mein Fehler, Anführungsstriche vergessen.

<script>alert("{{ app.request.pathinfo }}");</script>

Hallo zusammen,

jetzt klappt es. Vielen Dank für die Hilfe! :blush:

{% block base_navigation %}
    <div class="nav-main">
        {% if (app.request.pathinfo !="path") %}
            {% block base_navigation_inner %}
                {% sw_include '@Storefront/storefront/layout/navigation/navigation.html.twig' %}
            {% endblock %}
        {% endif %}
    </div>
{% endblock %}

Hallo, habe es jetzt mit CSS gelöst bekommen:

.is-ctl-landingpage .header-main, .is-ctl-landingpage .navigation-main, .is-ctl-landingpage .payments-panel–header, .is-ctl-landingpage .features-bar-columns, .is-ctl-landingpage .footer-main, .is-ctl-landingpage .main-navigation-menu{
display: none;
}

1 „Gefällt mir“

@anna1 sorry bin auch nicht so tief drin in Shopware. An welcher Stelle hast du das CSS angepasst damit das nur für diese Landingpage greift?