Seitenalias wird falsch generiert - Contao 2.11 #3792

Closed
ghost opened this Issue Jan 10, 2012 · 27 comments

Projects

None yet

7 participants

@ghost
ghost commented Jan 10, 2012

Hallo,

der Seitenalias wird falsch generiert, durch die manuelle Eingabe eines Seitenalias.
Die neuste Version von Contao 2.11 generiert bei der Eingabe von "test" -> "http://test" als Seitenalias.

@xchs
Contributor
xchs commented Jan 10, 2012

In meiner RC1-Installation kann ich das jedenfalls nicht reproduzieren.

@ghost
ghost commented Jan 10, 2012

Ich habe den aktuellen Stand von heute genommen.
Update: Wenn man keinen Alias reinschreibt, dann wird dieser richtig generiert. Wenn man dann nochmal auf Speichern klickt, wird dieser wie oben falsch generiert.

@xchs
Contributor
xchs commented Jan 10, 2012

Auch im aktuellsten Commit 0bff6a6 von heute kann ich das nicht nachstellen. Probiert habe ich die beiden Seitentypen "Startpunkt einer Webseite" und "Reguläre Seite".

Wo wird denn Deiner Meinung nach der Alias falsch generiert: Im Eingabefeld "Seitenalias" im Backend oder im URL-Fragment im Frontend?

@ghost
ghost commented Jan 11, 2012

Ich beziehe mich auch auf den Commit 0bff6a6 und auf das Backend von Contao.
Folgende Vorgehensweise:

  1. Neue, reguläre Seite anlegen und auf "speichern" klicken.
  2. Automatisch generierten Seitenalias überprüfen, der ist so vollkommen korrekt!
  3. Erneut auf speichern klicken.
  4. Seitenalias erneut überprüfen, jetzt steht ein "http://" vor dem Seitenalias.

Ich vermute, dass die Anpassung 1933548 fehlerhaft ist.

@leofeyer
Member

Kann ich im aktuellen 2.11.x-Branch nicht reproduzieren.

@leofeyer leofeyer closed this Jan 11, 2012
@mmmxtra
mmmxtra commented Feb 15, 2012

Ich kann die Fehlerbeschreibung von ProloxxWebdesign in der Final-Version von 2.11 bestätigen. Ziemlich lästig.

@aschempp
Member

Kann ich nicht nachvollziehen. Könnte es am Browser liegen? Probier mal bitte dieselbe Installation mit einem anderen Browser...

@ghost
ghost commented Feb 15, 2012

Ich vermute, es liegt an der Erweiterung "folderurl". Die habe ich installiert und mmmxtra sicherlich auch!?

@mmmxtra
mmmxtra commented Feb 16, 2012

Am Browser liegt es nicht. Wenn ich "folderurl" abschalte tritt der Fehler nicht auf. @aschempp: Es wäre toll, wenn es ein Update für diese Extension geben würde.

@aschempp
Member

Hier gibt's schon Tickets, und hat noch Platz für mehr ;-)
https://github.com/aschempp/contao-folderurl/issues

@minsterpinball

Kein Browserproblem, der Fehler tritt auf in Firefox, IE, Chrome, Safari und Opera.

@Babelfisch

Das Problem ist, dass ['eval']['rgxp'] = 'url' im DCA jetzt offenbar automatisch ein http:// vorn anfügt. Soll das wirklich so sein? Eine relative URL ist ja auch ohne Schema gültig.

@aschempp
Member

Kannst du mir/uns den Commit nennen, in welchem das hinzugefügt/angepasst wurde?

@Babelfisch

Meinst du mich? Wenn ja, keine Ahnung, wann das geändert wurde. Ich habe nur gerade mal in der FolderURL.php ein wenig debugt und gesehen, dass in generateFolderAlias der Wert für $varValue schon mit http:// übergeben wird, wenn rgxp gleich url ist.

@Babelfisch

Ok, hab mal alles durchforstet und den Commit gefunden: 7db9c9b In der System.php wird das Schema zwangsweise vorangestellt und da idnaEncodeUrl() beim Validieren von Widget-Eingaben verwendet wird, landet es beim Einsatz eines save_callback im Eingabefeld.

@leofeyer
Member

Ja, denn URLs sind per Definition eben URLs und nicht nur einzelne Bestandteile davon. Diese falsche Interpretation wurde in Contao 2.11 korrigiert und nun ist rgxp=>url nicht mehr für Aliase zu verwenden.

@Babelfisch

Das stimmt aber so nicht. Relative URLs wie /path , ./ oder #fragment sind auch gültige URLs.

@leofeyer
Member

Ein Alias enthält aber weder eine Raute (#) noch einen Schrägstrich (/), sondern nur Buchstaben und Zahlen.

@ghost
ghost commented Feb 17, 2012

Könnten wir uns nicht einfach wieder dem Problem widmen ;-)

Es wäre echt klasse, wenn bald ein offizieller Patch kommt. Vorerst kann man natürlich die Datei umstellen.
Fragwürdig ist sowieso, warum Contao nicht von Haus aus URLs im Format unterstützt, wie es "folderurl" tut.
Ich meine, eine Ordnerstruktur als URL hat doch fast jede dritte Website mittlerweile...

@Babelfisch

Laut der Contao-Doku, soll der Bereich Evaluation und in diesem Fall rgxp=url nur auf Gültigkeit überprüfen. Nirgendwo steht dort, dass die Evaluierung den Wert auch direkt verändert. Also sollte entweder die Doku angepasst werden oder - was sicherlich eher im Sinne der Funktion liegt - bei fehlerhaften Eingaben eine Exception geworfen werden. Da aber /path/file eine gültige relative URL ist, sollte es dann bei folderurl wieder passen.

@leofeyer
Member

Siehe dazu #3921.

@Babelfisch

Soll das jetzt bedeuten, dass folderurl mit Macht abgeschossen werden soll? Leute, dass ist eine der am häufigsten eingesetzten Erweiterungen und noch dazu eine sehr sinnvolle. Ob die in den Core kommt oder nicht ist mir eigentlich egal, aber dass sie jetzt auch noch komplett ausgebremst werden soll, ist doch etwas verwunderlich.

@tristanlins
Contributor

@Babelfisch die Erweiterung soll keinesfalls abgeschossen werden, allerdings wird es eine Integration in den Core vorerst nicht geben.

... eine Ordnerstruktur als URL hat doch fast jede dritte Website mittlerweile...

@ProloxxWebdesign was nicht heißt, dass das auch gut und richtig so ist, nur weil es alle anderen machen. ;-)
Sowohl vorhandene als auch nicht vorhandene Ordnerstruktur ist gleichermaßen korrekt. Contao geht aus bestimmten Gründen den Weg der nicht vorhandenen Ordnerstruktur.

@Babelfisch

Du hast Recht, dass man nicht pauschal sagen kann, Ordnerstrukturen sind richtig oder falsch. Bei großen und streng hierarchisch aufgebauten Seiten kann jedoch eine Ordnerstruktur der einzig vernünftige Weg für ein URL-Schema darstellen. Wir bauen zum Beispiel gerade eine solche Seite bei der man durchaus sagen kann, dass alles andere falsch wäre. Insofern ist eine zukünftige Integration in den Core und die Wahl für den Benutzer kein schlechte Sache – zumal es sicherlich auch kein immenser Aufwand wäre.

Mich irritiert jetzt aber eher, dass eine Validierungsfunktion auf einmal nicht mehr nur validiert und den Inhalt auch ändert. Wenn bei rgxp=url auf einmal keine relativen URLs mehr erlaubt sind, dann sollte IMHO eine Fehlermeldung kommen und nicht einfach ein http:// vorangestellt werden. Das ist nicht der Sinn einer Validierung, zumal das Ergebnis genauso falsch sein kann.

@leofeyer
Member

Behoben in 69909ef.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment