Wie kann ich die Codierung im Feldtyp 'URL' ändern?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Ignatz
    Contao-Fan
    • 22.10.2009
    • 301

    #1

    Wie kann ich die Codierung im Feldtyp 'URL' ändern?

    Hallo,

    mein Kunde pflegt in den Katalog unter anderem Links ein, die so aussehen:
    HTML-Code:
    http://www.blabla.de/#/content/blablabla/
    Das sind Links auf andere Webseiten, auf die er leider keinen Einfluss hat. Das '#' macht im Catalog aber Ärger. Die URL stellt sich im Frontend nämlich so dar:
    HTML-Code:
    http://www.blabla.de/#/content/blablabla/
    Beim Aufruf eines solchen Links kommt dann natürlich eine Fehlermeldung.
    Ich habe für das '#'-Zeichen schon folgende Entities versucht:
    HTML-Code:
     # # #
    Alles ohne Erfolg. Die resultierende URL lässt sich nicht aufrufen.

    Meine Frage: Wie sollte ich solche URL's eingeben? Bzw. wo und wie kann ich die Codierung der URL im Catalog beeinflussen?

    Gruß,
    Ignatz

    [EDIT]
    Mir ist auch aufgefallen, dass Leerzeichen in der URL mit dem ASCII-Code '%20' ersetzt werden, das '#'-Zeichen jedoch durch den dezimalen HTML-Unicode '#'
    Beim Decodieren werden die Leerzeichen wieder korrekt zurückgewandelt, während der Unicode in der URL stehen bleibt.
    Zuletzt geändert von Ignatz; 16.12.2011, 16:06.
  • Ignatz
    Contao-Fan
    • 22.10.2009
    • 301

    #2
    Hallo,

    nur nochmal zum Verständnis, da das Problem bzw. dessen Lösung unbekannt zu sein scheint:
    Ist das ein Fall von "selber Schuld, nimm doch ordentliche URL's" oder liegt hier eventuell ein Fehler im Catalog oder gar im Conta-Core vor?
    Wenn ja, kann/muss/sollte man den irgendwo melden bzw. ein Ticket anlegen?

    Ich wäre echt an der Lösung dieser Geschichte interessiert!

    Gruß,
    Ignatz

    Kommentar

    • delirius
      Contao-Nutzer
      • 17.01.2011
      • 186

      #3
      Hallo Ignatz

      Zwei Ansätze: Versuche mal die URLencode von # einzugeben, das wäre dann %23. Oder evtl. klappt es mit einer "Contao-Maskierung" [#], hatte mal sowas ähnliches mit dem &
      Daniel Herren www.delirius.ch

      Kommentar

      • Ignatz
        Contao-Fan
        • 22.10.2009
        • 301

        #4
        Hallo delirius,

        das ist ja, was mich wundert: Gebe ich im Backend die URL mit '#' und Leerzeichen (ja, auch solche sind enthalten) ein und gehe dann auf speichern, dann werden die Leerzeichen zu '%20' konvertiert, die Raute '#' jedoch bleibt stehen.
        Im Frontend werden die Leerzeichen dann korrekt dekodiert, die Raute jedoch mit ihrem Unicode '&#35' angezeigt.

        Gebe ich im Backend für die Raute gleich '%23' ein, so wird im Frontend, wenn ich die Maus über den entsprechenden Link bewege, die korrekte URL mit '#' angezeigt aber wenn ich dann klicke, steht in der Adresszeile wieder '%23' in der URL und der Link führt wieder zu einer Fehlermeldung.

        Die Maskierung mit den eckigen Klammern funktioniert auch nicht.

        Offensichtlich wird die Raute nicht genauso behandelt, wie z. B. ein Leerzeichen, denn die werden korrekt kodiert und dekodiert. Deshalb vermute ich hier auch einen Fehler.

        Oder ist das generell ein Browserproblem? Ich stelle eben fest, wenn ich die URL mit '%23' und '%20' in verschiedenen Browsern eingebe, dann werden die Leerzeichen korrekt dekodiert, die '%23' bleibt jedoch.
        Nun kann ich dem Betreiber der anderen Webseite schlecht mitteilen, er möge doch ordentliche URL's verwenden.
        Ist schon eigenartig, das Ganze.

        Gruß,
        Ignatz

        Kommentar

        • delirius
          Contao-Nutzer
          • 17.01.2011
          • 186

          #5
          Hallo Ignatz

          Scheint ein Problem in Catalog zu sein. Als kurzfristiger Lösungsvorschlag könntest du im Template mit html_entity_decode das #&35; zurückwandeln in #.
          Code:
          echo html_entity_decode($data['value']);
          Zitat von Ignatz Beitrag anzeigen
          Wenn ja, kann/muss/sollte man den irgendwo melden bzw. ein Ticket anlegen?
          Daniel Herren www.delirius.ch

          Kommentar

          Lädt...