WebsiteBaker Logo
  • *
  • Templates
  • Help
  • Add-ons
  • Download
  • Home
*
Welcome, Guest. Please login or register.

Login with username, password and session length
 

News


WebsiteBaker 2.13.6 is now available!


Will it continue with WB? It goes on! | Geht es mit WB weiter? Es geht weiter!
https://forum.websitebaker.org/index.php/topic,32340.msg226702.html#msg226702


The forum email address board@websitebaker.org is working again
https://forum.websitebaker.org/index.php/topic,32358.0.html


R.I.P Dietmar (luisehahne) and thank you for all your valuable work for WB
https://forum.websitebaker.org/index.php/topic,32355.0.html


* Support WebsiteBaker


  • Home
  • Help
  • Search
  • Login
  • Register

  • WebsiteBaker Community Forum »
  • WebsiteBaker Support (2.12.x) »
  • General Help & Support »
  • Hilfe & Support (deutsch) »
  • Hilfe bei show_menu2
  • Print
Pages: [1]   Go Down

Author Topic: Hilfe bei show_menu2  (Read 24766 times)

Offline masju

  • Posts: 231
  • Gender: Male
Hilfe bei show_menu2
« on: May 29, 2024, 12:47:01 PM »
Hallo zusammen,

ich stehe gerade völlig auf dem Schlauch und finde die richtigen Parameter für shown_menu2 nicht. Ich versuche, eine mehrsprachige Seite aufzubauen, die oberste Ebene besteht daher aus den "Sprachseiten" DE EN etc.
Ich möchte daher nun im Menü nur die Ebene 2 + abwärts haben im aktuellen Zweig.
In die Doku (https://help.WebsiteBaker.org/de/designerhandbuch/mehrsprachige-webseiten.php) steht:
Code: [Select]
show_menu2(1, SM2_ROOT+1, SM2_START, SM2_TRIM, ...Hier fehlen aber die Unterseiten ab Ebene 3 (es wird nur Ebene 2 angezeigt).

Mache ich
Code: [Select]
show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_TRIM, sind die Unterseiten da, aber nur die der aktuellen Seite da.

Ich brauche alle Seiten und deren Unterseiten im aktuellen "Sprachzweig" Ebene 2 und abwärts.
Wie geht das?

Danke und viele Grüße
masju
Logged

Offline sternchen8875

  • Global Moderator
  • *****
  • Posts: 601
Re: Hilfe bei show_menu2
« Reply #1 on: May 29, 2024, 01:05:47 PM »
Quote
show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_TRIM,

verwende SM2_ALL statt SM2_TRIM
SM2_TRIM begrenzt die Ausgabe auf die Unterseiten des aktuellen Pfads
Logged

Offline masju

  • Posts: 231
  • Gender: Male
Re: Hilfe bei show_menu2
« Reply #2 on: May 29, 2024, 01:14:33 PM »
Vielen Dank für die Antwort.
Wenn ich
Code: [Select]
show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_ALL,einsetze, werden alle Seiten der Ebene 2 angezeigt, nicht nur die im aktuellen "Sprachzweig".

Wenn ich im Parameter 2 statt SM2_ROOT+1 die Page-ID der "Sprach-Rootseite" einsetze, z.B.
Code: [Select]
show_menu2(1, 2, SM2_ALL, SM2_ALL,ist alles okay. Muss ich wirklich eine Funktion schreiben, die herausfindet, welche Spracheinstellung die aktuelle Seite hat und danach die Page-ID setzt, oder gibt es eine schlanke Lösung?
Logged

Offline sternchen8875

  • Global Moderator
  • *****
  • Posts: 601
Re: Hilfe bei show_menu2
« Reply #3 on: May 29, 2024, 01:19:36 PM »
Mach mal bitte einen Screenshot von der Seitenübersicht im Backend, wo man die Seitenstruktur erkennt. Ich schreib derweil hier eine kurze Erklärung, also ggf nochmal aktualisieren bitte
Logged

Offline masju

  • Posts: 231
  • Gender: Male
Re: Hilfe bei show_menu2
« Reply #4 on: May 29, 2024, 01:29:46 PM »
Gerne, hier die Seitenstruktur:
Logged

Offline sternchen8875

  • Global Moderator
  • *****
  • Posts: 601
Re: Hilfe bei show_menu2
« Reply #5 on: May 29, 2024, 01:49:26 PM »
Quote from: masju on May 29, 2024, 01:14:33 PM
Vielen Dank für die Antwort.
Wenn ich
Code: [Select]
show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_ALL,einsetze, werden alle Seiten der Ebene 2 angezeigt, nicht nur die im aktuellen "Sprachzweig".


kann es sein, das du die einzelnen Unterseiten nicht wie in der Hilfe vorgeschlagen, angeordnet hast?

In der Theorie...
DE - Menulink
----Seite DE1
--------Unterseite DE_1_1 von Seite DE1
--------Unterseite DE_1_2 von Seite DE1
----Seite DE2
--------Unterseite DE_2_1 von Seite DE2
--------Unterseite DE_2_2 von Seite DE2
----Seite DE3
EN - Menulink
----Seite EN1
--------Unterseite EN_1_1 von Seite EN1
--------Unterseite EN_1_2 von Seite EN1
----Seite EN2
--------Unterseite EN_2_1 von Seite EN2
--------Unterseite EN_2_2 von Seite EN2
----Seite EN2

show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_ALL - zeigt nun entweder den Strang "DE" oder eben den Strang "EN" an, je nachdem, was im Languagemenü als Sprache gewählt wurde. Hättest du (wie ich vermute), alle Seiten unanhängig von der jeweiligen Sprache, in einem gemeinsamen Seitenbaum, werden auch alle Unterseiten im Menü angezeigt
Stell dir das Menü als ein Baum vor - die Seiten DE wären ein Ast und die Seiten EN ein anderer Ast
Die beiden Hauptseiten DE und EN sind in Ebene 0 (null) , in jedem Zwei dann die Unterseiten. Mit dem Startparameter SM2_ROOT+1 überspringt das Menü die Ebene Null (die Seiten DE und EN) und springt in den Strang, der als Hauptsprache in den WB-Optionen eingestellt ist. Umschalten bzw in den anderen Ast springen kann man dann nur über das Languagemenü (Fähnchen?)

show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_TRIM - würde immer in der jeweiligen Ebene bleiben und alle anderen ausblenden. Im Beispiel würde das heißen: bist du auf Seite DE1, werden die Unterseiten von DE1  und DE2 im Menü nicht angezeigt

Dein Code
show_menu2(1, 2, SM2_ALL, SM2_ALL,
heißt:
Starte mit der Menüdarstellung auf der Seite mit der Page-ID == 2. Dort wird die Sprache ausgelesen und somit ist er im gewünschten Sprach-Ast

Zu deinem Bild: meine Vermutung ist nicht korrekt, sorry dafür.

Mach mal so

show_menu2(1, SM2_ROOT+1, SM2_CURR, SM2_ALL,

 
Logged

Offline masju

  • Posts: 231
  • Gender: Male
Re: Hilfe bei show_menu2
« Reply #6 on: May 29, 2024, 02:17:02 PM »
Danke für die ausführliche Antwort.

Code: [Select]
show_menu2(1, SM2_ROOT+1, SM2_CURR, SM2_ALL,zeigt alle Seiten (sprachübergreifend) der zweiten Ebene an, egal, auf welcher Unterseite ich mich befinde.

Unterschied zu
Code: [Select]
show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_ALL,ist nur, dass die Seiten der dritten Ebene fehlen.
« Last Edit: May 29, 2024, 02:24:58 PM by masju »
Logged

Offline masju

  • Posts: 231
  • Gender: Male
Re: Hilfe bei show_menu2
« Reply #7 on: May 29, 2024, 02:35:41 PM »
Kleines Experiment:
Code: [Select]
switch (LANGUAGE) {
  case "ES":   $menu_start = 1; break;
  case "DE":   $menu_start = 2; reak;
  case "EN":   $menu_start = 3; break;
  case "FR":   $menu_start = 4;  break;
  default: $menu_start = 1;
}

  show_menu2(1, $menu_start, SM2_ALL, SM2_ALL, (...);

tut, was es soll. Ist aber sicher nicht der eleganteste Weg.
Ist vielleicht ein Fehler in der Funktion show_menu2?
Logged

Offline dbs

  • Betatester
  • **
  • Posts: 8914
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Hilfe bei show_menu2
« Reply #8 on: May 29, 2024, 02:41:40 PM »
Hast du auch mal den Aufruf aus dem DefaultTemplate versucht?
Da ist doch von MULTILANG+1 die Rede.
Logged
https://onkel-franky.de

Offline masju

  • Posts: 231
  • Gender: Male
Re: Hilfe bei show_menu2
« Reply #9 on: May 29, 2024, 02:55:00 PM »
Guter Hinweis!
Das Default-Template funktioniert, wenn ich die Seite in den Optionen auf „mehrsprachig“ stelle. In diesem Template ist das irgendwie anders gelöst. Ich wurstle mich mal rein.
Code: [Select]
use addon\WBLingual\Lingual;hatte ich auch noch nicht in der index.php

Viele Grüße
masju
Logged

Offline sternchen8875

  • Global Moderator
  • *****
  • Posts: 601
Re: Hilfe bei show_menu2
« Reply #10 on: May 29, 2024, 05:51:13 PM »
Sorry, mußte "kurz" in die Stadt...

also.. die Lösung mit dem Switch funktioniert nur, weil deine Startseiten ES, DE, EN und FR genau diese Page-ID's haben. Ist ein Weg, den man so gehen kann, ist aber nichts, was automatisiert funktionieren sollte, z.b. wenn man eine weitere Sprache hinzufügt.

Quote
Das Default-Template funktioniert, wenn ich die Seite in den Optionen auf „mehrsprachig“ stelle.

die eingestellte Mehrsprachigkeit ist natürlich Voraussetzung für die sprachengesteuerte Menüschaltung, also Pflicht bei Mehrsprachigkeit

das DefaultTemplate....
hat eine etwas umfangreichere Lösung, die in einem anderen Template nur funktioniert, wenn man alle! dazugehörigen Zeilen des Codes der index.php kopiert, das wäre aus der aktuellen Downloadversion WB 2.13.5 R220 ab Zeile 114 bis zur Zeile 154

dazu gehören dann auch diese zwei Zeilen 31 und 32
Code: [Select]
use bin\{WbAdaptor};
use addon\WBLingual\Lingual;


Daran folgend zwei Menüdefinitionen, $sMainNav ist das mobile Menü, $menuLeft das linksseitige

Das Hauptmenü im Detail

Code: [Select]
            $iMenu          = 1;
            $iStart         = SM2_ROOT+$iMultiLang;
            $iMaxLevel      = SM2_ALL;
            $iOptions       = SM2_ALL|SM2_NUMCLASS|SM2_BUFFER|SM2_PRETTY;//
$iMenu ist die Menünummer
$iStart ist der Startpunkt des Menüs, $iMultiLang kann 0 oder 1 sein, Null, wenn nur eine Sprache in den Dateien eingestellt, 1 wenn mehrere Sprachen im Seitenbaum vorhanden sind
$iMaxlevel = SM2_ALL - bedeutet: zeige in diesem Sprachzweig alle Ebenen an
$iOptions       = SM2_ALL..... bedeutet: zeige immer alle Unterseiten aller Seiten dieser Sprache an

Diese etwas aufwändigere Schaltung im DefaultTemplate hat den Vorteil, das sie Ein- oder Mehrsprachigkeit im Seitenbaum alleine erkennt und man am Menücode oder der Seitenstruktur nichts ändern müßte, wenn man von Ein- auf Mehrsprachig oder umgekehrt wechselt

Solltest du weiterhin Probleme haben, häng mal die index.php deines Templates mit dran. Eigentlich sollte jede bisher gepostete Variante zumindest so funktionieren, das sie sauber zwischen den Sprachen trennt
Logged

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8544
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: Hilfe bei show_menu2
« Reply #11 on: May 30, 2024, 06:04:34 AM »
Hallo,

mal ne ganz andere Frage. Was steht bei dir im Backend bei den Standardoptionen für ein Wert bei "Limit der Seitenebenen"?
Logged

Offline masju

  • Posts: 231
  • Gender: Male
Re: Hilfe bei show_menu2
« Reply #12 on: May 31, 2024, 12:01:20 PM »
Quote from: sternchen8875 on May 29, 2024, 05:51:13 PM
das DefaultTemplate....
hat eine etwas umfangreichere Lösung, die in einem anderen Template nur funktioniert, wenn man alle! dazugehörigen Zeilen des Codes der index.php kopiert, das wäre aus der aktuellen Downloadversion WB 2.13.5 R220 ab Zeile 114 bis zur Zeile 154
...

Vielen Dank für die ausführliche Antwort! Ich bastle gerade die index.php entsprechend um. Sollte aber klappen!
Der Vorteil der "großen" gegenüber der Bastellösung Lösung ist, dass ich dann auf jeder Unterseite spontan die Sprache wechseln kann und dann die gleiche Seite z. B. auf Englisch habe.
Logged

Offline masju

  • Posts: 231
  • Gender: Male
Re: Hilfe bei show_menu2
« Reply #13 on: May 31, 2024, 12:03:21 PM »
Quote from: ruebenwurzel on May 30, 2024, 06:04:34 AM
Hallo,

mal ne ganz andere Frage. Was steht bei dir im Backend bei den Standardoptionen für ein Wert bei "Limit der Seitenebenen"?

Steht auf "4", ich werde sicherheitshalber noch auf 5 gehen, wobei 4 eigentlich ausreichend sein sollte (1 x Sprache und 3 für die Seitenstruktur).
Logged

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8544
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: Hilfe bei show_menu2
« Reply #14 on: May 31, 2024, 12:42:36 PM »
Soweit ich mich erinnern kann war das beim übersprünglichen Menüaufruf (show_menu) mal die Begrenzung der Seitentiefe, die im Menüangezeigt wurden. Der Nachfolger show_menu2 hat aus kompatibilitätsgrün den da, so weit ich weiß, einiges mit übernommen. Keine Ahnung, ob das in deinem Fall eine Rolle spielt. Mit 4 sollte es aber eigentlich passen. Bei Neuinstallationen ist der Default Wert aktuell 10.
Logged

Offline sternchen8875

  • Global Moderator
  • *****
  • Posts: 601
Re: Hilfe bei show_menu2
« Reply #15 on: May 31, 2024, 03:29:18 PM »
Quote from: ruebenwurzel on May 31, 2024, 12:42:36 PM
Bei Neuinstallationen ist der Default Wert aktuell 10.

kleine Korrektur: der steht (ich glaube, seit WB 2.10) per default auf 4, wird aber bei Upgrade-Versionen nicht verändert. Stand also früher eine 10 dort, wird die bei jedem Upgrade übernommen


Quote from: masju on May 31, 2024, 12:01:20 PM
Der Vorteil der "großen" gegenüber der Bastellösung Lösung ist, dass ich dann auf jeder Unterseite spontan die Sprache wechseln kann und dann die gleiche Seite z. B. auf Englisch habe.

genau das erledigt die Mehrsprachigkeit eigentlich auch. Jede Unterseite ist dann mit dem entsprechendem Äquivalent in den anderen Sprachen über das Fähnchen-Menü verlinkt (sofern das in den einzelnen Page-Settings auch so eingestellt wurde.
Egal... aber so langsam verstehe ich, warum genau die Lösung aus der Hilfeseite bei dir nicht laufen wollte.  :roll:
Logged

  • Print
Pages: [1]   Go Up
  • WebsiteBaker Community Forum »
  • WebsiteBaker Support (2.12.x) »
  • General Help & Support »
  • Hilfe & Support (deutsch) »
  • Hilfe bei show_menu2
 

  • SMF 2.0.19 | SMF © 2017, Simple Machines
  • XHTML
  • RSS
  • WAP2