JoomlaCamp 2018 Essen - 03.02.2017 in Essen

Das neue Routing System in 3.8x arbeitet nicht wie es soll - ID weiterhin in URL

    Das neue Routing System in 3.8x arbeitet nicht wie es soll - ID weiterhin in URL

    Hallo zusammen,

    nach dem Update meiner Seite von 3.7 auf 3.8.2 habe ich ein Problem mit meinen URLs.

    Vorweg muss ich sagen, dass ich in der Vergangenheit durch Anpassungen in der Datei router.php bzw. legacyrouter.php meine Seite so konfigurierte hatt,e dass in den URLs keine IDs vorhanden waren. Nach jedem Update musste ich bisher diese Dateien wieder anpassen damit mit keine ID angezeigt werden. Das mache ich seit 2014 so.

    So wurde aus: http://www.baublog-liste.de/blogstart/8-baublog/111-der-bauplatz-aus-einer-anderen-perspektive
    Dann: http://www.baublog-liste.de/blogstart/baublog/der-bauplatz-aus-einer-anderen-perspektive

    Mit 3.8 ist ja nun das neue Router-System hinzugekommen. Laut Beschreibung macht es genau das von Haus aus, was ich bisher durch Modifikationen erreicht habe.

    Nach dem Update auf 3.8.2 passiert zunöchst wie erwartet, dass die URL wie folgt definiert wird:
    http://www.baublog-liste.de/blogstart/8-baublog/111-der-bauplatz-aus-einer-anderen-perspektive

    In den Beitragsoptionen habe ich dann bei Integration die Auswahl für URL Generierung auf MODERN gesetzt und bei IDs aus URL entfernen den Wert JA". Das Ergebnis ist:
    http://www.baublog-liste.de/blogstart?view=article&id=111:der-bauplatz-aus-einer-anderen-perspektive

    Ich wäre aber davon ausgegangen das es folgendes Ergebnis ist:
    http://www.baublog-liste.de/blogstart/baublog/der-bauplatz-aus-einer-anderen-perspektive

    Doch leider nein ;( Im übrigen ist es auch egal welchen Wert ich bei "IDs aus URL entfernen" setzte, es ist immer das selbe Ergbnis. Cache habe ich auch schon mal gelöscht.

    Jemand vielleicht eine Idee wie ich das in den Griff bekomme ohne eine Rücksicherung auf die Version 3.7 zu machen?


    Das sieht doch so aus als würde das routing überhaupt nicht ausgeführt, also gar nicht - und dementsprechend ist es egal, welche Parameter du setzt.
    Die Parameter für das url rewriting sind gesetzt und die .htaccess ist korrekt?
    Wenn du einen core hack druchführen konntest kannst du vielleicht gezielt debuggen, was im router der Komponente vorgeht.
    Grüße, Christiane
    ----------------
    JUG München | Auch ich bin ein Joomler

    Neu

    Auf dem selben Server habe ich noch eine weitere Joomla Installaion mit Version 3.8.2 dort klappt es mit der neuen Router-Funktion.

    Gehe schon davon aus, dass grundsätzlich das Routing funktioniert, da wenn ich zurück auf den Kompaibel Modus umschalte, die klassische Darstellung erfolgt > http://www.baublog-liste.de/blogstart/8-baublog/111-der-bauplatz-aus-einer-anderen-perspektive

    Von der zweiten Installation habe ich nun mal die .htaccess sowie die router.php und routerlegacy.php übernommen. Doch es hat sich nichts verändert.

    Zum Vorschlag Core Hack muss ich leider passen. Damit kenne ich mich nicht wirklich aus.

    Neu

    Danke für den Hinweis Indigo66. Ja, ich habe zu dem Thema auch ein Post auf facebook.com/groups/joomla.deu…ermalink/852386888268452/ eröffnet. Ich bitte es zu entschuldigen wenn ich hier zu schnell gehandelt gehandelt habe und den Hinweis auf das Crossposting versäumt habe.

    Da ich noch nicht weiter bin in der Sache, werde ich eine Rücksicherung vornehmen auf den Stand Joomla 3.7x. Gefällt mir zwar wegen den Sicherheitsproblemen nicht, doch wenn die URL´s nicht mehr stimmen habe ich ein anderes Problem. Auf einer Testseite werde ich dann versuchen das Problem weiter einzugrenzen.

    Danke und beste Grüße

    Matthias

    Neu

    Die Dateien stehen unter:
    /components/com_content/helpers/legacyrouter.php
    /components/com_content/router.php


    Das war ein Core Hack. Wenn du da selbst programmiert hast dann vergleiche doch die Unterschiede. Ich habe die Änderungen nicht verfolgt. Vor einem Monat wurde in legacyrouter ein kleiner fix vorgenommen, vielleicht stört sich das. Aber so und so: Core Hacks sind evil. Ich verstehe dass du jetzt kurfristig irgend was brauchst.
    Aber auf längere Siche solltest du unbedingt darauf hinarbeiten, deine Content-Struktur so zu bauen dass kein Core Hack nötig ist.
    Bei allen andere geht es ja auch.
    Grüße, Christiane
    ----------------
    JUG München | Auch ich bin ein Joomler

    Neu

    firstlady schrieb:

    Aber auf längere Siche solltest du unbedingt darauf hinarbeiten, deine Content-Struktur so zu bauen dass kein Core Hack nötig ist.
    Bei allen andere geht es ja auch.


    Wie das so ist mit "alten" über die Jahre gewachsenen Projekte. Damals habe ich mit einer Modifikation beholfen das diese "schönen" URLs herauskommen. Bei jedem Joomla Update wurde das aber wieder durch die Joomla Vorgabedateien überschrieben. So musste ich immer wieder die Modifikation vornehmen und die "schönen" URLs zu erhalten. Mit Joomla 3.8 ist dies als Feature implementiert worden und so dachte ich ja, dass ich keine Modifikation mehr benötige. Allerdings hat es sich wie im ersten Post beschrieben nicht so verhalten wie ich es angenommen habe.

    Eine Lösung ist gefunden. :) In der Facebook Gruppe hatte jemand den richtigen Ansatz, mit welchem ich das nun auflösen konnte:

    Die Ursache für das Verhalten ist mein verwendeter Menüeintrag-Typ. Vorweg gilt es zu sagen, dass ich eine Kategorie "A" mit Unterkategorien X,Y,Z habe. Als MenüTyp habe ich für die Anzeige der Beiträge den Typ "Hauptbeiträge" gewählt. Da alle Einträge dieser Kategorie samt Unterkategorien Hauptbeiträge sind hat das bisher auch wunderbar funktioniert. Weitere Menüpunkte zu den Beiträgen hatte ich nicht. Mit dem neuen Routing in Joomla 3.8 hat sich hier wohl was verändert.

    Die Lösung bei mir sieht nun wie folgt aus:

    Neuen Menüeintrag des Typs "Kategorieblog" angelegt und auf die Kategorie A verwiesen sowie diesen Menüpunkt auf "Hidden" gesetzt. Das macht man im Register Einstellungen für Menülinks unter Punkt "Display im Menu". Nun kann Joomla die URL ohne Zahlen auflösen. Durch das Hidden ist der Menüpunkt nicht sichtbar, aber funktional. Zwar musste ich mir noch eine weitere Kategorie als Überkategorie von A setzten, doch so klappt es jetzt.

    Da ich in den Unterkategorie X,Y und Z wenig Beiträge habe, werde ich aber in der Tat die Content-Struktur überarbeiten und die wenigen Seiten durch 301 Umleitungen "umziehen", dann ist bald wieder Ordnung.

    An dieser Stelle ein DANKE SCHÖN an alle die hier mit ihren Ideen und Gedanken mich unterstützt haben.

    Neu

    ddenw schrieb:

    firstlady schrieb:

    Die Lösung bei mir sieht nun wie folgt aus:

    Neuen Menüeintrag des Typs "Kategorieblog" angelegt und auf die Kategorie A verwiesen sowie diesen Menüpunkt auf "Hidden" gesetzt. Das macht man im Register Einstellungen für Menülinks unter Punkt "Display im Menu". Nun kann Joomla die URL ohne Zahlen auflösen. Durch das Hidden ist der Menüpunkt nicht sichtbar, aber funktional. Zwar musste ich mir noch eine weitere Kategorie als Überkategorie von A setzten, doch so klappt es jetzt.

    Hallo,

    ich muss da nochmal nachfragen, ich habe zum Test einen Menüeintrag des Typs "Kategorieblog" erstellt und diesen Kategorie A zugewiesen.

    Nun sieht die URL folgendermaßen aus: test.de/bereich/standort/neuigkeiten/475-baufortschritt

    Ohne den Kategorieblog würde da noch eine ID mehr drin stehen. Wohlgemerkt die URL-Generierung ist auf Kompatibel eingestellt, stelle ich nun die URL-Generierung auf Modern um, sieht die URL wie zu Anfangs bei Dir wieder aus: http://www.baublog-liste.de/blogstart?view=article&id=111:der-bauplatz-aus-einer-anderen-perspektive


    Gruß
    Andreas

    Neu

    Hallo zusammen, ich hatte ja bereits in der fb Gruppe ausführlicher geantwortet... hier nochmal eine kurze Zusammenfassung des "Problems".
    Nach meinem eigenen Test konnte ich folgenden Unterschied zwischen dem "kompatiblen" und "modernen" Routing feststellen:

    Der "kompatible" Router erzeugt SEF URLs
    mit nur 1 Menüpunkt "Hauptbeiträge". Es funktioniert für die Beitragstitel-Links, als auch für die angezeigten Kategorie-Namen!

    Der "moderne" Router erzeugt KEINE SEF URLs mit dieser zugegeben minimalen Struktur!
    Man benötigt mindestens einen weiteren Kategorie-Blog Menüpunkt, damit eine SEF URL erzeugt wird.

    Die Frage, die sich stellt: Ist das nun ein Feature oder ein Bug? thinking ?(

forum.joomla.de is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.