Neu Problem mit Scroll-Link nach Update auf Shop-Version 5.3.3

Hilfe2015

Aktives Mitglied
17. Juni 2015
17
1
Hallo liebe Community,

ich habe eine Kategoriebeschreibung erstellt, die einen Link enthält. Dieser Link ermöglicht es dem Kunden, nach unten zu scrollen, um mehr zu lesen:

<a href="#bereich2">Mein Text</a>

Die Beschreibung wird als Attribut im Shop angezeigt, und bisher hat das auch gut funktioniert.
Seit dem Update auf die Shop-Version 5.3.3 gibt es jedoch ein Problem: Der Link springt zunächst korrekt zur gewünschten Stelle, verbleibt dort aber nur etwa eine Sekunde und springt dann automatisch nach oben, knapp oberhalb der Artikel.
Ich vermute, dass das Problem am JavaScript liegen könnte, bin mir aber nicht sicher.

Kann mir bitte jemand dabei helfen, das Problem zu lösen?

Liebe Grüße
 

Der_Bob

Gut bekanntes Mitglied
10. August 2007
222
9
Hallo,
Ich bin durch Zufall auf den Thread gestoßen und habe sozusagen genau das gleiche Problem - ebenfalls mit einer geteilten Kategoriebeschreibung und ich kann den Fehler auch nach stundenlanger Suche nicht finden. Der JTL-Support hilft hier leider auch nicht weiter.
Hast Du mittlerweile eine Lösung gefunden oder zumindest einen Hinweis woran es liegen könnte?
viele Grüße,
Marcus
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.718
355
Hallo,
Ich bin durch Zufall auf den Thread gestoßen und habe sozusagen genau das gleiche Problem - ebenfalls mit einer geteilten Kategoriebeschreibung und ich kann den Fehler auch nach stundenlanger Suche nicht finden. Der JTL-Support hilft hier leider auch nicht weiter.
Hast Du mittlerweile eine Lösung gefunden oder zumindest einen Hinweis woran es liegen könnte?
viele Grüße,
Marcus
Die js/global.js ins Child-Template einbinden und diesen Block auf Zeile 365-369 auskommentieren oder Löschen:

JavaScript:
    if ($('.js-pagination-ajax').length > 0) {
        window.addEventListener('popstate', function(e) {
            loadContent(document.location.href);
        }, false);
    }
 
  • Gefällt mir
Reaktionen: Der_Bob

Der_Bob

Gut bekanntes Mitglied
10. August 2007
222
9
Die js/global.js ins Child-Template einbinden und diesen Block auf Zeile 365-369 auskommentieren oder Löschen:

JavaScript:
    if ($('.js-pagination-ajax').length > 0) {
        window.addEventListener('popstate', function(e) {
            loadContent(document.location.href);
        }, false);
    }
Oha, vielen Dank für die schnelle und extrem hilfreiche Antwort!
Damit war es schnell gefixt, mit so einer luxuriösen Antwort auf den Punkt hätte ich gar nicht gerechnet. 🙂

Was mich noch etwas verunsichert:
a) An irgendeiner Stelle wird die Funktion nun wahrscheinlich "fehlen" und ggf. die Usability im Shop etwas herabsetzen (irgendwo, wo es mehrere Seiten gibt? Wobei das Auto-Scrollen zum Anfang der Artikelliste bei Seitenwechsel noch bei mir funktioniert)
b) Die Änderung wird man bei Template-Updates "mitschleppen" müssen, also immer dafür sorgen, dass "<File Path="js/global.js"/>" im Child-Template steht (kein Problem), nicht aber im Standard-Nova-Template (Problem). Ggf. ist es dann schlauer gleich die global.js im Standard-Template zu ändern, da die Änderung beim Update eh händisch durchgeführt werden muss und wenn sie vergessen wird, nicht versucht wird, die global.js doppelt zu laden (In NOVA + NOVA-CHILD)
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.718
355
a) Nein, die Methode fehlt nicht, denn sie existiert quasi doppelt, nämlich direkt über diesem Block.
b) Das ganze muss natürlich updatesicher ins Child gebunden werden. Hierzu die js/global.js in das Child kopieren und in der template.xml den JS-Knoten innerhalb <Minify> ergänzen, wichtig ist hier dass Attribut "override":

XML:
    <Minify>
        <JS Name="jtl3.js">
            <File Path="js/global.js" override="true" />
        </JS>
        ...
    </Minify>
 
  • Gefällt mir
Reaktionen: Der_Bob

Der_Bob

Gut bekanntes Mitglied
10. August 2007
222
9
a) Nein, die Methode fehlt nicht, denn sie existiert quasi doppelt, nämlich direkt über diesem Block.
b) Das ganze muss natürlich updatesicher ins Child gebunden werden. Hierzu die js/global.js in das Child kopieren und in der template.xml den JS-Knoten innerhalb <Minify> ergänzen, wichtig ist hier dass Attribut "override":

XML:
    <Minify>
        <JS Name="jtl3.js">
            <File Path="js/global.js" override="true" />
        </JS>
        ...
    </Minify>
Hammer! Danke!! 🙂
 

Ähnliche Themen