Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: base href und #-Links zu Ankern auf derselben (Unter-)Seite

  1. #1
    Contao-Nutzer
    Registriert seit
    09.09.2011.
    Beiträge
    214

    Standard base href und #-Links zu Ankern auf derselben (Unter-)Seite

    Servus,
    ich habe immer wieder Probleme mit Links zu Sprungmarken auf derselbe Seite, wenn es nicht die Startseite ist. Wenn ich den auf einer Unterseite (bspw. meineDomain.xy/unterseite.html) einen Link zu einem Anker (bspw. #hop) angebe, dann macht Contao1 daraus 'meineDomain.xy/#hop' statt 'meineDomain.xy/unterseite.html#hop' und ich lande auf der Startseite, die diesen Anker natürlich nicht enthält.

    Das liegt an der fest verdrahteten
    HTML-Code:
    <base href="https://[meineDomain.xy/]">
    im Header jeder Seite.

    Einmal habe ich mir damit beholfen, dass ich im fe_page-Template die base einfach entfernt hab (funktioniert trotzdem noch alles). Ein anderes Mal habe ich im Link die jeweilige Seite mit angegeben.
    Beides erscheint mir falsch.

    Welcher tiefere Gedanke steckt hinter dem base-Eintrag im Header (grundlegend (HTML und so) ist mir das klar, aber warum wird er hier gesetzt)? Mit dem ersten Workaround zerschieße ich diesen Ansatz ja.
    Gibt es einen eleganteren Weg als meine beiden Ansätze?

    Vielen Dank im Voraus für mögliche Lösungsansätze!
    LG

    ———
    1 Eigentlich macht der Browser das daraus – ich weiß – aber die Ursache ist nicht der Browser.

  2. #2
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Ich bin mir nicht ganz sicher ob das so richtig ist, bzw. auf deine Anforderung passt, aber ich nutze bei solchen Aufgabenstellungen immer den inserttag {{env::request}}
    Siehe auch: https://docs.contao.org/manual/de/ar...bungsvariablen
    blucomp | Webdesign & Onlinelösungen

  3. #3
    Contao-Nutzer
    Registriert seit
    09.09.2011.
    Beiträge
    214

    Standard

    Ja, stimmt, die Info hatte ich unterschlagen: die aktuelle Seite in den Link mit einzubauen, geht natürlich so am einfachsten, finde ich aber ein wenig unhandlich, vor allem, wenn technisch unbedarfte Redakteure ins Spiel kommen.

    Aber danke für die Erwähnung.

  4. #4
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Aus Neugier… Hast du tatsächlich viele relevante Fälle/Projekte, in denen unbedarfte Redakteure desöfteren Ankerlinks setzen müssen? Ich mach das jetzt auch schon einige Jahre und kann mich nicht erinnern das jemals hätte schulen müssen.

    Ansonsten könnte man da sicher irgendwas im Template oder via JS programmieren ohne immer das Grundprinzip von Contao mit dem base-tag zu verdrehen vermute ich.?

    //edit
    Ich hatte im folgenden Thread mal auch ein Problem mit den relativen Links und dem base-tag:
    https://community.contao.org/de/show...pezielle-Seite

    Vielleicht hilft dir ja der Tipp mit dem
    Code:
    {{env::host}}
    Geändert von tblumrich (24.01.2023 um 21:33 Uhr)
    blucomp | Webdesign & Onlinelösungen

  5. #5
    Contao-Nutzer
    Registriert seit
    09.09.2011.
    Beiträge
    214

    Standard

    Ja, {{env::host}} jetzt nicht, aber {{env::request}} hat mir schon geholfen.

    Nein, es gab noch nicht viele Fälle, kam aber schon vor und wird tendenziell mehr, je mehr OnePager gebaut werden. Momentan habe ich einen rüstigen Rentner an einer Vereinsseite. Hashtags kann ich da noch erklären, wenn aber geschweifte Klammern ins Spiel kommen und dann auch noch so viele, kriegen die gerne mal Muffensausen.

    Ja, auch JS-Lösungen sind ein Weg, hab ich ja auch schon gemacht, genauso wie das base-Tag einfach aus der fe_page zu tilgen. Aber das scheint mir nur so semi-sinnvoll zu sein.

    Aber du sprichst vom Contao-base-Tag-Grundprinzip. Was sagt das denn? Weißt du – ich würde gern verstehen, was ich da deaktiviere und was da noch alles dranhängt. Nenn mich altmodisch.

  6. #6
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Ich hatte auch gehofft hier steigt jemand ein, der das fachlich besser erklären kann... es musss auf jeden Fall mit der Linkgenerierung zusammenhängen, die damit immer schön relativ sein dürfen und z.B. den Umzug schön einfach machen... (wenn ich da an meine WP Ausflüge denke - ein Segen)
    blucomp | Webdesign & Onlinelösungen

  7. #7
    Contao-Nutzer
    Registriert seit
    09.09.2011.
    Beiträge
    214

    Standard

    Ja, aber … aber, also eigentlich sind die Links doch schon schön relativ, wenn gar kein base-tag vergeben ist. Anker bleiben auf der Seite, einfache Links á la andereSeite als Alias (also andereSeite.html als Adresse) verwenden denselben Host (auch wenn sie per {{link_url::id}} angelegt sind) und externe Links führen zu externen Seiten. Das kann ja HTML schon und jeder Browser.

  8. #8
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Ich vermute es geht nicht nur um die Frontend-links, sondern um alle anderen Dinge, die zum einmal gesetzten base-tag, immer relativ dazu gesetzt werden und egal was man mit Contao anstellt, funktionieren… also Scripte, Stylesheets, Assets etc….

    Aber wie gesagt, das müsste schlussendlich mal jemand erklären, der viiiiiel näher an den Entwicklern ist.
    blucomp | Webdesign & Onlinelösungen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •