WebsiteBaker Support (2.13.x) > Hilfe & Support (deutsch)
Fehler bei "Pagecode" in Unterseiten
dbs:
Mal ne Frage zwischendurch.
Ich sehe in der DB die richtigen Werte. page_trail (88,327,510), page_code (215) sind korrekt hinterlegt. Trotzdem verlinkt das Flaggenmenü nur zur Ebene 0. Die Unterseite verlinkt also nicht zu der gewünschten Unterseite der anderen Sprache. Im Backend stimmts, da klappt das Auslesen der DB wohl, aber nicht im Frontend. Wo müsste ich mir den Code mal ansehen? (Der Fehler besteht auch im DefaultTemplate).
Ist schon seit einigen WB-Versionen so.
sternchen8875:
--- Quote from: dbs on October 05, 2024, 10:16:28 AM ---Ich sehe in der DB die richtigen Werte. page_trail (88,327,510), page_code (215) sind korrekt hinterlegt. Trotzdem verlinkt das Flaggenmenü nur zur Ebene 0.
--- End quote ---
Kann ich nicht bestätigen, bei mir funktioniert es, auch über verschiedene WB-Versionen, also auf unterschiedlichen Domains
Voraussetzung ist aber die korrekte Einstellung in den Seiteneinstellungen jeder Seite und jeder Sprache, die nicht Hauptsprache ist. Dabei nicht auf den Job der automatischen Korrektur hinter dem Link "Pagecode" verlassen. Der korrigiert nur Seite ohne gültige PageCode-ID, d.h. eine in der DB eingetragene ID im Feld page_code, die dann nicht mehr vorhanden ist, weil die Seite gelöscht wurde, wird mit der Page-ID der ersten Seite korrigiert, die sichtbar ist, d.h. nicht die Sichtbarkeit "keine" hat
Page_Trail und Page_Code sind dabei unterschiedliche Sachen. Ersteres zeigt dabei den Weg auf, den Trail, über welche Stationen man zur gewünschten Seite gelangt.
Der PageCode hat ausschließlich den Zweck, das Linkziel im Zweig der Hauptsprache und im Flagmenü zu ermitteln, in deinem Fall dann die Page-ID 215
Noch zur allgemeinen Klarstellung (damit es mal gesagt wurde)
Die gesamte Pagecode-Geschichte funktioniert nur im Flagmenü, nicht aber in einem offenen Showmenu2-Aufruf, der alle Seiten und Seitensprachen anzeigt
Mal meine aktuelle Testumgebung, vier Sprachen, DE ist Hauptsprache. DE und NL haben 5 Ebenen, SE und EN nur 4. Jede Ebene der anderen Sprachen ist mit der DE-Seite gleicher Ebene verlinkt. Da SE und EN nur 4 Ebenen haben, erscheint dort im Flagmenü ein Link zur Startseite dieser Sprachen, also SE.php und EN.php
Ein Bild dazu hier -> https://i.gyazo.com/c0f1a961cf296fae60932c48e55c56ff.png
Der Code für das gesamte Flagmenü kommt aus dem Modul WBLingual, das meiste davon aus der Lingual.php. Das sind eine Reihe von Funktionen, aus deren Summe dann das Flagmenü zusammengestellt wird.
Sollte sich dort ein Fehler verstecken, müßten ihn alle Benutzer haben, denk ich
ICH würde zuerst in der Seitenübersicht schauen, alle Zweige aufklappen und dann ganz rechts die Spracheinstellungen kontrollieren. Im Frontend-Betrieb merkt man es wohl recht schnell, wenn da im Showmenu2 eine Seite fehlen würde, aber es ist auch schnell passiert, das sich eine Seite mit falscher Spracheinstellung in einen anderen Seitensprachzweig verirrt, z.b. wenn sie manuell verschoben wird.
dein Problem ließe sich leicht erklären, wenn eine früher als Pagecode eingestellte Seite später entfernt wurde. Ich hatte z.b. mal die Menulink-Seiten statt DE und EN mit deutsch und english benannt und als Typ Wysiwyg erstellt. So wurden dann auch alle Unterseiten in den Pagecodeeinstellung en justiert. Später hab ich dann auf Typ Menulink gewechselt, dazu zwei neue Startseiten erstellt und die Bäume entsprechend verschoben, aber den Pagecode hatte ich vergessen. Und so landet man dann auf der Startseite :-D
Du bist versiert im Umgang mit der DB. Ich würde mir die pages-Tabelle mal nach Level sortieren lassen. Sofern nicht anders gewünscht und eingestellt, sollten pro Level mindestens eine Seite aus jeder verwendeten Sprache auf das Äquivalent der Hauptsprache zeigen, also im Pagecode die Page-ID dieser Zielseite haben. Ich hab auch ein Projekt, das zwar 45 deutschsprachige Seiten hat, aber nur 8 englisch-sprachige. Da wird es mit der level-Sortierung zwar schnell unübersichtlich, geht aber mit der Sortierung nach Feld language ganz gut.
Wäre im genannten Projekt die Hauptsprache == englisch, wäre es sicher so, das das Feld page_code ziemlich viele, gleiche Werte enthält, aber in einem gut sortierten Projekt mit identischer Struktur wäre es wahrscheinlich, das jeder pagecode-Wert nur in der Anzahl der verwendeten Sprachen auftaucht.
Im Allgemeinen ist es aber eine ziemliche Fummelei, das in einem komplexen mehrsprachigem Projekt Seite für Seite alles einzustellen.
Ich hab mir da ein Modul gebaut, das basiert auf Stefek's SEO-Modul, hat auch diese SEO-Funktionen noch, dient mir aber vorrangig zum Suchen von Section, Page-ID's und Modultyp-Abschnitten. Dort ist auch der Pagecode mit angegeben. Ist noch nicht ganz public-fähig, aber aussagekräftiger als die Ansicht in der Datenbank
dbs:
Ich kann sagen, dass der Menübaum schon ziemlich oft durchgeschüttelt wurde.
Aktuell mit Menülinks, aber es heiß ja auch mal, dass es mit normalen Seiten geht als DE,EN usw.
Gelöscht und verschoben (mal DE oben und mal EN), weil neue Kategorien, ist schon öfter passiert.
Komisch, dass es bei manchen Seiten keine Probleme gibt, auf anderen aber eben grundsätzlich bei jeder Flagge domain.de/sprache/ angezeigt wird (geht also um shorturl). Da hilft auch kein Neuspeichern oder pagecode link klicken.
In der DB sehe ich bei der Sprachenspalte keine Probleme, passt alles. Denke mal die DB ist ok, schon weil das Backend bzw. das Menü korrekt angezeigt wird bzw. die Seiteneinstellungen stimmen. Es muss also irgendwo auf dem Weg aus der DB ins Flaggenmenü ein Problem bei mir geben.Werde die Tipps mal durchgehen, danke.
sternchen8875:
--- Quote from: dbs on October 05, 2024, 03:29:56 PM ---Gelöscht und verschoben (mal DE oben und mal EN), weil neue Kategorien, ist schon öfter passiert.
--- End quote ---
Gelöschte Zielseiten sind dann schon ein Problem, weil man jedes Mal danach ALLE Unterseiten der anderen Sprachen neu einstellen muß. Das Gleiche gilt dann, wenn sich die Hauptsprache im System ändert
Vielleicht sollte man ein kleines AdminTool erstellen, das den kompletten Seitenbaum in Listenform darstellt und nur auf den Pagecode ausgerichtet ist, denn selbst wenn man nur insgesamt 100 Seiten hat, ist die Kontrolle von 3/4 davon eine elendige Klickerei
dbs:
In der DB haben sie alle die richtigen Werte.
Bis jetzt ist es weiter unklar. Manche Seiten verlinken zur anderssprachigen Seite, manche nur zur Ebene 0.
Auch bei neuangelegten Seiten tritt das auf, mal klappts mal nicht. Als ob da noch irgendwas dazwischen sitzt, was die Ausgabe beeinflusst.
Ist eine Testseite, die schon 100 WB-Upgrade-Versionen durchgemacht hat und sicher auch Dateileichen sammelt.
Der Menübaum im Backend ist aber korrekt, Sprachen stimmen, kommt ja aus der DB, deshalb würde ich da den Fehler ausschließen. Die Page_IDs gehen bis 511. Ist viel, aber nicht zu viel denke ich.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version