Wartungsmodus, falscher Link auf das Impressum und Datenschutzerklärung?

Hallo,

nach dem Update auf 6.5.0.0 können im Wartungsmodus das Impressum und die Datenschutzerklärung mit klick nicht mehr aufgerufen werden.

/maintenance/singlepage/fa7de475fbaf433abeaeec2b5d1dd5f8

Der Link stimmt nicht, und wie kann ich das wieder korrigieren?

MfG R. Amend

Ohne nachgesehen zu haben, das wird sicherlich auf die Stammdaten verlinkten CMS-Seiten verlinken. Ggf. einfach andere auswählen und dann wieder zurück wechseln. Vielleicht speichert es dann wieder.

Ich komme nicht weiter…,

so sieht es aus, wobei ich unter A „Shopseiten-Layout für Wartungsseiten“ keine passenden Eintrag drin habe:

$ttps://www.xxx.de/maintenance/singlepage/fa7de475fbaf433abeaeec2b5d1dd5f8 | Impressum
$ttps://www.xxx.de/maintenance/singlepage/4350f4ed0789473083b1786da540d730 | Datenschutz

Anbei Bilder:

Wie kann ich das wieder reparieren?

So sieht das ganze im Template aus:

Eigentlich müsste also auf das Impressum/Datenschutz verlinkt werden welches du unter Einstellungen > Stammdaten „Shopseiten-Layout für ein Impressum“ bzw. „Shopseiten-Layout für Datenschutz-Seiten“ ausgewählt hast.

Vielleicht hat es beim Update auf 6.5 irgendwelche Zuweisungen zerschossen, hast du schonmal probiert einfach eine andere Seite auszuwählen, speichern und dann wieder die richtige Seite für Impressum & Datenschutz zu hinterlegen?

Falls das auch nicht hilft kannst du im Template unter views/storefront/page/content/single-page.html.twig den Link für das Impressum & Datenschutz auch manuell hinterlegen (siehe Bild oben). Das ist übergangsweise erstmal besser als gar kein Link zum Impressum & Datenschutz.

Viele Grüße
Tom

Danke für die Unterstützung!
Ich finde diese Seite nicht. Habe nur „views/storefront/page/content/single-page.html.twig“ und suchte mit " Custom Template Manager".

Ich habe vorerst mal das Impressum über die Stammdaten eingegeben.

Und in den Stammdaten müsste ich doch einen Link finden für „Shopseiten-Layout für Wartungsseiten“ → "in diesem Bereich habe ich nur Shopseiten-Layout für Datenschutz-Seiten | Shopseiten-Layout für AGB-Seiten | und so weiter.

Jetzt bin ich auch ein bisschen verwirrt :sweat_smile:

Ich finde diese Seite nicht. Habe nur „views/storefront/page/content/single-page.html.twig“ und suchte mit " Custom Template Manager".

Mit dem Plugin (Custom Template Manager) kenne ich mich leider nicht aus. Ich lade die Dateien immer per FTP hoch bzw. runter und bearbeite sie Lokal. Findet er den über das Plugin normalerweise Dateien im Parent-Theme wenn du die noch nicht in deinem eigenen Theme bearbeitet hast? Ansonsten such mal nach „single_cms_page_footer“, in dem Block sind die Links (aus dem Bild).

Und in den Stammdaten müsste ich doch einen Link finden für „Shopseiten-Layout für Wartungsseiten“ → "in diesem Bereich habe ich nur Shopseiten-Layout für Datenschutz-Seiten | Shopseiten-Layout für AGB-Seiten | und so weiter.

Den Punkt „Shopseiten-Layout für Wartungsseiten“ kannst du meiner Meinung nach ignorieren. Der kann auch wie in deinem 2. Bild (A) leer sein bzw. „Layout auswählen“ drin stehen haben. Wichtig sind die Punkte „Shopseiten-Layout für ein Impressum“ bzw. „Shopseiten-Layout für Datenschutz-Seiten“ unter Einstellungen > Stammdaten, hattest du da schonmal jeweils mal eine andere Seite ausgewählt, gespeichert, und dann wieder dir richtig Seite für das Impressum und Datenschutz ausgewählt (und wieder gespeichert :wink:)

Viele Grüße
Tom

Ohman, ich habe weder „views/storefront/page/content/single-page.html.twig“ noch finde ich diese Seiten nicht über FTP.

Ich habe das Standard-Thema. Wo müsste den die Datei unter FTP sein?

Unter /public/theme/1aaa383f7a130c8a85f249e93d83f34f → da sind 23 Kategorien „2f4b9c9418823da6dee3770c63709027“, usw. drin, und diese weisen css und js auf!

Wahrscheinlich bin ich da völlig falsch! :pleading_face:

Und ja, ich habe schon einige ausgewählt und gespeichert, cache entfernt usw.!

Das ist doch der Bereich unter /public/maintenance.html??

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Wartungsmodus</title>

    <style>
        article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font:1em monospace,serif}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

        body, html { min-height: 100%; background: #e9ebed; }
        .maintenance-container {
            position: relative;
            background: #fff;
            -webkit-border-radius: 3px;
            -moz-border-radius: 3px;
            border-radius: 3px;
            margin: 50px auto;
            width: 475px;
            padding: 30px;
            text-align: center;

            -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
            -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
            -ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
            box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
        }
        .maintenance-headline {
            font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
            font-weight: 300;
            margin: 0 0 .8em;
        }
        .maintenance-text { font-size: 13px }
        .maintenance-progress {
            border-top: 1px solid #529e52;
            height: 4px; width: 100%;
            position: absolute;
            bottom: 0; left: 0;
            background-color: #5eb95e;
            -webkit-background-size: 40px 40px;
            -moz-background-size: 40px 40px;
            -o-background-size: 40px 40px;
            background-size: 40px 40px;
            -webkit-animation: progress-bar-stripes 2s linear infinite;
            -moz-animation: progress-bar-stripes 2s linear infinite;
            -ms-animation: progress-bar-stripes 2s linear infinite;
            -o-animation: progress-bar-stripes 2s linear infinite;
            animation: progress-bar-stripes 2s linear infinite;
            background-color: #62C462;
            background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, rgba(0, 0, 0, 0)), color-stop(0.5, rgba(0, 0, 0, 0)), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0)));
            background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
            background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
            background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
            background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
        }

        hr {
            background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAHUlEQVR42q3IoREAAACCQHdy/91IFrLcfSGqc5wAdFYCZQo/LFUAAAAASUVORK5CYII=") repeat-x;
            border: 0 none;
            color: #CCC;
            height: 4px;
            padding: 0;
            margin: 30px 0;
        }


        @-webkit-keyframes progress-bar-stripes {
            from {
                background-position: 40px 0;
            }
            to {
                background-position: 0 0;
            }
        }

        @-moz-keyframes progress-bar-stripes {
            from {
                background-position: 40px 0;
            }
            to {
                background-position: 0 0;
            }
        }

        @-ms-keyframes progress-bar-stripes {
            from {
                background-position: 40px 0;
            }
            to {
                background-position: 0 0;
            }
        }

        @-o-keyframes progress-bar-stripes {
            from {
                background-position: 0 0;
            }
            to {
                background-position: 40px 0;
            }
        }

        @keyframes progress-bar-stripes {
            from {
                background-position: 40px 0;
            }
            to {
                background-position: 0 0;
            }
        }
    </style>
</head>
<body>
<div class="maintenance-container">
    <h1 class="maintenance-headline">Unsere Website befindet sich gerade in der Wartung.</h1>

    <p class="maintenance-text">
        Wir stehen Ihnen bald wieder zur Verfügung. Entschuldigen Sie etwaige Unannehmlichkeiten.
    </p>

    <hr />

    <h1 class="maintenance-headline">Our website is currently undergoing maintenance.</h1>

    <p class="maintenance-text">
        We'll be back very soon. Sorry for any inconvenience.
    </p>

    <div class="maintenance-progress"></div>
</div>
</body>
</html>

Die Datei findest du im Parent-Theme unter: Root-Verzeichnis /vendor/shopware/storefront/Resources/views/storefront/page/content/single-cms-page.html.twig

Wenn du diese Datei aber änderst werden die Änderungen mit dem nächsten Update aber wahrscheinlich überschrieben, deshalb musst du ein Child-Theme anlegen und das Parent Theme erweitern.

Ich gehe davon aus das du schon ein Child Theme hast, aber wie gesagt weiß ich nicht genau wie das mit dem Custom Template Manager funktioniert.

Vielen Dank, ich schaue mir das mal an.

1 „Gefällt mir“

Super, sag gerne Bescheid ob es geklappt hat, oder wo es Probleme gibt :+1:

Es ist bei mir nicht drin - kann ich die Daten haben, die rein gehören, so das ich diese Kopieren kann? Sonst muss ich alles neu schreiben - Danke!

{% block single_cms_page_doctype %}
    <!DOCTYPE html>
{% endblock %}

{% block single_cms_page_html %}
    <html lang="{{ "meta.xmlLang"|trans|striptags }}"
          itemscope="itemscope"
          itemtype="https://schema.org/WebPage">
{% endblock %}

{% block single_cms_page_head %}
    {% sw_include '@Storefront/storefront/layout/meta.html.twig' %}
{% endblock %}

{% block single_cms_page_body %}
    <body class="{% block single_cms_page_body_classes %}is-ctl-{{ controllerName|lower }} is-act-{{ controllerAction|lower }}{% endblock %}">
        {% block single_cms_page_body_inner %}
            {% block single_cms_page_noscript %}
                <noscript class="noscript-main">
                    {% sw_include '@Storefront/storefront/utilities/alert.html.twig' with {
                        type: 'info',
                        content: 'general.noscriptNotice'|trans|sw_sanitize,
                        iconCache: false
                    } %}
                </noscript>
            {% endblock %}

            {% block single_cms_page_header %}
                <header class="header-main">
                    {% block single_cms_page_header_inner %}
                        <div class="container">
                            <div class="row align-items-center header-row">
                                <div class="col-12 col-lg-auto header-logo-col">
                                    {% sw_include '@Storefront/storefront/layout/header/logo.html.twig' %}
                                </div>
                            </div>
                        </div>
                    {% endblock %}
                </header>
            {% endblock %}

            {% block single_cms_page_main %}
                <main class="content-main">
                    {% block single_cms_page_main_content %}
                        {% set cmsPageClasses = ('cms-page ' ~ page.landingPage.cmsPage.cssClass|striptags)|trim %}
                        <div class="{{ cmsPageClasses }}">
                            {% block page_content_blocks %}
                                {% sw_include "@Storefront/storefront/page/content/detail.html.twig" with {'cmsPage': page.landingPage.cmsPage, 'landingPage': page.landingPage} %}
                            {% endblock %}
                        </div>
                    {% endblock %}
                </main>
            {% endblock %}

            {% block single_cms_page_footer %}
                <footer class="footer-main mt-5 w-75 mx-auto">
                    {% block single_cms_page_footer_content %}
                        <div class="container mt-3 text-center">
                            {% if config('core.basicInformation.imprintPage') is not null %}
                                <a href="{{ path('frontend.maintenance.singlepage',{ id: config('core.basicInformation.imprintPage') }) }}"
                                   title="{{ "general.imprintLink"|trans|sw_sanitize }}"
                                   class="ps-2 pe-2">
                                    {{ "general.imprintLink"|trans|sw_sanitize }}
                                </a>
                            {% endif %}

                            {% if config('core.basicInformation.privacyPage') is not null %}
                                <a href="{{ path('frontend.maintenance.singlepage',{ id: config('core.basicInformation.privacyPage') }) }}"
                                   title="{{ "general.privacyLink"|trans|sw_sanitize }}"
                                   class="ps-2 pe-2">
                                    {{ "general.privacyLink"|trans|sw_sanitize }}
                                </a>
                            {% endif %}
                        </div>
                    {% endblock %}
                </footer>
            {% endblock %}
        {% endblock %}

        {% block single_cms_page_scroll_up %}
            {% sw_include '@Storefront/storefront/layout/scroll-up.html.twig' %}
        {% endblock %}

        {% block single_cms_page_cookie_permission %}
            {% sw_include '@Storefront/storefront/layout/cookie/cookie-permission.html.twig' %}
        {% endblock %}

        {% block single_cms_page_pseudo_modal %}
            {% sw_include '@Storefront/storefront/component/pseudo-modal.html.twig' %}
        {% endblock %}

        {% block single_cms_page_body_script %}
            {% block single_cms_page_script_breakpoints %}
                {# Register the available viewport breakpoints the window.breakpoints object #}
                <script>
                    {% set breakpoint = {
                        'xs': theme_config('breakpoint.xs'),
                        'sm': theme_config('breakpoint.sm'),
                        'md': theme_config('breakpoint.md'),
                        'lg': theme_config('breakpoint.lg'),
                        'xl': theme_config('breakpoint.xl'),
                        'xxl': theme_config('breakpoint.xxl')
                    } %}

                    window.breakpoints = {{ breakpoint|json_encode()|raw }};
                </script>
            {% endblock %}
        {% endblock %}
    </body>
{% endblock %}
</html>

Ich habe wie in der oben angegeben wie im Bild tom_prok eingeben, aber leider werden andere Daten angezeigt.

/vendor/shopware/storefront/Resources/views/storefront/page/content/single-cms-page.html.twig

Damit geht es nicht:

{% if config('core.basicInformation.imprintPage') is not null %}
	<a href="{{path('frontend.maintenance.singlepage',{id: config('core.basicInformation.imprintPage')})}}"
		title="{{"general.imprintLink"|trans|sw_sanitize}}"
		class="ps-2 pe-2">
		{{"general.imprintLink"|trans|sw_sanitize}}
	</a>
{% endif %}

{% if config('core.basicInformation.privacyPage') is not null %}
	<a href="{{ path('frontend.maintenance.singlepage',{id: config('core.basicInformation.privacyPage')})}}"
		title="{{"general.privacyLink"|trans|sw_sanitize}}"
		class="ps-2 pe-2">
		{{ "general.privacyLink"|trans|sw_sanitize }}
	</a>
{% endif %}

Impressum | Datenschutz wird nicht angesteuert! Was kann man noch probieren?

Ich habe mich eben mit dem Thema zum ersten mal selbst beschäftigen müssen und kann nun ebenfalls bestätigen, dass es in 6.5 ein Bug ist. Wird vermutlich mit dem nächsten Update gefixt.

Super, mein Versuch wie tom_prok geschildert hat, hat bei mir ebenfalls nicht funktioniert!

Es handelt sich um einen Fehler von Shopware. Die Datei ‚storefront/page/content/single-cms-page.html.twig‘ muss angepasst werden. Hier ist der entsprechende Inhalt:

{% sw_extends '@Storefront/storefront/page/content/single-cms-page.html.twig' %}

{% block single_cms_page_main_content %}
    {% set cmsPageClasses = ('cms-page ' ~ page.cmsPage.cssClass|striptags)|trim %}
    <div class="{{ cmsPageClasses }}">
        {% block page_content_blocks %}
            {% sw_include "@Storefront/storefront/page/content/detail.html.twig" with {'cmsPage': page.cmsPage} %}
        {% endblock %}
    </div>
{% endblock %}