Closed Samson1964 closed 8 years ago
In #7161 geht es aber eher darum, warum bzw. dass es nicht geht. Hier in diesem Issue ist der Bug eher, dass Contao fälschlicherweise einen bereits existierenden Artikel Alias vorschlägt.
Na ja, mein Englisch ist nicht so sattelfest. Der Alias-Vorschlag von Contao ist eher ein Schönheitsfehler. Der eigentliche Bug ist für mich, daß ein Artikelalias im Gegensatz zu einem Seitenalias seine Einzigartigkeit über alle Seitenbäume haben möchte. Das ist doch wohl nicht beabsichtigt?
Doch, weil die ID eines Artikels muss eindeutig bleiben, da du den Artikel ja überall einfügen kannst. Andernfalls könnte es vorkommen, dass du zweimal id="index"
auf deiner Seite hast.
So etwas wie {link::pagealias}}
kann man allerdings auch überall einfügen...
Ich hab das Verhalten dabei allerdings noch nicht überprüft.
Weil man den Alias aber ohne weiteres ändern kann hab ich mir eh angewöhnt ID's zu verwenden.
Prinzipiell würde ich eher @aschempp zustimmen und behaupten der Artikelalias sollte pro Seite eindeutig sein - was wohl nicht ganz rückwärtskompatibel wäre.
Demzufolge könnte man Seiten nicht in einen anderen Seitenbaum verschieben?! Habe ich gerade mal getestet. Ich konnte die eine Seite "test" problemlos von einem Seitenbaum in den Seitenbaum mit der anderen Seite "test" verschieben. Erst als ich eine der Seiten bearbeiten und speichern wollte, bemerkte Contao das Malheur.
So etwas wie {link::pagealias}} kann man allerdings auch überall einfügen...
Ja, das ist ja auch kein Problem.
Prinzipiell würde ich eher @aschempp zustimmen und behaupten der Artikelalias sollte pro Seite eindeutig sein - was wohl nicht ganz rückwärtskompatibel wäre.
Da du aber jeden Artikel überall einfügen kannst, kann nicht gewährleistet werden, dass eine ID nicht mehrmals auf einer Seite vorkommt.
Demzufolge könnte man Seiten nicht in einen anderen Seitenbaum verschieben?!
Nein, du verstehst das Problem falsch. In HTML dürfen nicht mehrere Elemente mit den selben IDs vorkommen.
Ich spiel grad mit contao4 da wird der Artikel-alias gar nichtmehr als id dahergenommen sondern es sieht direkt so aus: id="article-1"
was man aber mit css-id überschreiben kann.
Demzufolge könnte man Seiten nicht in einen anderen Seitenbaum verschieben?!
Nein, du verstehst das Problem falsch. In HTML dürfen nicht mehrere Elemente mit den selben IDs vorkommen.
Das in HTML jedes Alias je Struktur nur einmal vorkommen darf ist mir doch auch klar. Nicht klar ist mir warum Artikel und Seiten unterschiedlich behandelt werden: Ein Seitenalias darf je Seitenstruktur nur einmal vorkommen. Ein Artikelalias darf über ALLE Seitenstrukturen nur einmal vorkommen. Dein Argument:
Doch, weil die ID eines Artikels muss eindeutig bleiben, da du den Artikel ja überall einfügen kannst.
Ja, aber Seiten kann ich auch überall einfügen!
Eine Seite erzeugt keine HTML ID.
Nochmal ein Beispiel zur Verdeutlichung: angenommen du hast zwei Artikel, jeweils mit dem Alias index
. Wenn du jetzt beide Artikel auf einer Seite einbindest, hast du zwei HTML Elemente mit dem Attribut id="index"
und das is syntaktisch falsch.
Daher müssen innerhalb der gesamten Contao Installation alle Artikel Aliase Unique sein. So wie es aussieht hat sich dieser Umstand in Contao 4 ohnehin erübrigt.
Darum geht es mir doch gar nicht. Ich will doch nur das Artikelaliase innerhalb eines kompletten Seitenbaums (also unter einem Startpunkt) unique sind (also so wie Seitenaliase). Dann sind sie quasi auch innerhalb einer Seite unique, denn das ist ja eine Ebene tiefer
Im Moment sind Artikelaliase aber sogar innerhalb einer ganzen Installation über alle Seitenbäume hinweg unique. Keine Ahnung wozu das nötig sein soll.
Wieso geht so etwas nicht?:
domain.de/de/seitenalias1/articles/test.html
(Seitenstruktur deutsch)
domain.de/en/seitenalias2/articles/test.html
(Seitenstruktur englisch)
Beide Artikelaliase test haben nichts miteinander zu tun, sind in völlig verschiedenen Strukturen. Contao meckert aber rum, daß der Alias test schon existiert.
Warum meckert Contao dann nicht bei:
domain.de/de/test.html
(Seitenstruktur deutsch)
domain.de/en/test.html
(Seitenstruktur englisch)
diesem Seitenalias test, daß dieser schon in existiert?
Daß so etwas:
domain.de/de/seitenalias1/articles/test.html
domain.de/de/seitenalias1/articles/test.html
oder so etwas:
domain.de/de/seitenalias1/articles/test.html
domain.de/de/seitenalias2/articles/test.html
nicht geht, brauchst Du mir nicht extra zu erklären. Das ist doch logisch. Wobei - Variante 2 bin ich mir jetzt gerade nicht sicher...
Darum geht es mir doch gar nicht. Ich will doch nur das Artikelaliase innerhalb eines kompletten Seitenbaums (also unter einem Startpunkt) unique sind (also so wie Seitenaliase). Dann sind sie quasi auch innerhalb einer Seite unique, denn das ist ja eine Ebene tiefer.
Dann ist das Ticket doch ein Duplikat von #7161.
In der 3.5.17 kann man keine Artikel erstellen, wo bereits ein Alias in einem anderen Seitenbaum existiert. Bei Seiten ist dies möglich. Ich kann z.B. in jedem Seitenbaum einen Alias index haben. Beim Anlegen solcher Seiten zeigt Contao beim erstmaligen Bearbeiten des entsprechenden Artikels auch index als Alias an. Will man den Vorschlag übernehmen kommt die Meldung "Das Alias index existiert bereits".