erdmannfreunde/contao-onepage-navigation

Alle Artikel in Adresseleiste

Closed this issue · 3 comments

Bei allen Installationen, bei denen ich das Modul einsetze, werden nicht nur die als "One Page Article" markierten und mit den entsprechenden Navigations-Einstellungen für das One-Page-Menü hinterlegten Artikel beim Scrollen als #Sprunkmarke in der Adressleiste des Browsers angezeigt, sondern alle auf einer Seite enthaltenen Artikel. Wenn ich also zur Gliederung mehrere Artikel angelegt habe, davon aber nur bestimmte Artikel in der One-Page-Navigation haben möchte, erscheinen die Sprungmarken dazwischen trotzdem.

Besonders unschön ist dabei:

  • dass die URL dann Elemente wie #article-123 enthält
  • Diese einzelnen Punkte landen auch in der History
  • wenn ich also auf zurück klicke, springe ich alle Punkte erneut an, an denen ich nur vorbei gescrollt habe.
  • Wenn ich auf der Seite mehrfach hoch und runter gescrollt habe, landet der komplette Scrollverlauf in der History.

Meine Erwartung wäre:

  • Nur die als solche markierten Artikel erhalten eine Sprungmarke, also nur diejenigen, die auch im Menü angezeigt werden sollen
  • In der History erscheinen nur die angeklickten Elemente, nicht die, an denen nur vorbei gescrollt wurde und schon gar nicht diejenigen, die gar nicht als Menüelemente markiert sind.
  • Aus meiner Sicht sollte der Zurück-Button sogar überhaupt nicht die Onepage-Navigation berücksichtigen, sondern nur echte Seitenwechsel. Das wäre gut als Option.

Viele Grüße
Timo

Moin Timo,

du kannst das Verhalten selbst über die j_onepage_navigation.html5 anpassen, indem du ein Template anlegst und anpasst. Bei unserem SIRIUS-Theme werden zum Beispiel nur die Artikel genommen, die auch in der Navigation stehen.

Auch das die URL bei Klick oder Scroll in die Browser-Historie aufgenommen wird, kannst du dort anpassen.

Aufgrund mehrer Nachfragen habe ich das Template nun überarbeitet:

  • die Artikel-IDs werden beim Scrollen nicht mehr an die URL gehängt
  • Bei Klick auf einem Menüpunkt wird die Artikel-ID als Sprungmarke an die URL gehängt.
  • daraus folgt: Die Browser-Historie wird nur durch geklickte Menüpunkte ergänzt (Browser-Standard für Sprungmarken)

@intradesign Die Änderung befindet sich aktuell im dev-develop Branch. Magst du sie einmal testen und mir Rückmeldung geben, ob alles funktioniert?

Moin Dennis, entschuldige bitte die späte Antwort! Ich habe das Menü gerade in einer neuen Website eingebaut und das angepasste Template eingesetzt. Funktioniert super so.
Vielen Dank für die Anpassung!