Welcome, Guest. Please login or register.
Did you miss your activation email?
May 27, 2012, 03:33:17 AM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
155555 Posts in 21715 Topics by 7737 Members
Latest Member: gx-world
* Home Help Search Login Register
Pages: 1 [2] 3   Go Down
Print
Author Topic: show_menu2  (Read 9126 times)
erpe

Offline Offline

Posts: 2077


WWW
« Reply #25 on: June 09, 2008, 11:30:34 AM »

Hallo Bernd,

ich weiss genau, wie du dir vorkommst.......... ....
Ich habe auch schon andere mehrsprachige Seiten mit mehreren Menus gesehen, aber die sind nicht mit show_menu gemacht, sondern irgendwie mit php und Datenbakabfragen. Davon habe ich aber keine Ahnung.
Ich denke auch, dass das mit show_menu gehen muss, aber wie?

Wer hat eine Ahnung und einen Lösungsvorschlag?

Gruss

erpe
Logged

erpe

Offline Offline

Posts: 2077


WWW
« Reply #26 on: June 10, 2008, 11:50:14 AM »

Immer noch keiner dabei, der mir helfen kann?

Macht es Sinn bzw ist es erlaubt, dieses ihr noch mal im internationalen Bereich zu posten?
Würde mir allerdings sprachlich auch nicht ganz einfach von der Hand gehen.

Brauche nach wie vor dringend Hilfe, da die Seite ins Netz soll.

Gruss

erpe
Logged

erpe

Offline Offline

Posts: 2077


WWW
« Reply #27 on: June 24, 2008, 12:50:17 PM »

Als Abschluss:

Inzwischen gibt es eine Lösung mit Hilfe eines anderen WB-Users (an dieser Stelle nochmal Danke für Deine ausdauernde Hilfe), allerdings mit kleineren workarounds.
Wer daran Interesse hat, möge sich melden.

@Matthias
Bin aber trotzdem nach wie vor daran interessiert, ob es auch "richtig" geht, weil die Übersichtlichkeit im Backend bei großen Seiten schon leidet. Vielleicht hats du ja mal Zeit.........
Danke auch für deine Hilfe.

Gruss

erpe


Logged

kirk
WebsiteBaker Org e.V.

Offline Offline

Posts: 204



WWW
« Reply #28 on: September 11, 2008, 09:08:35 AM »

Hallo erpe
so trifft mann sich wieder. Würde gerne erfahren wie du die Sache gelöst bekommen hast. Könntest Du einfach mal die Menu Codes aus deiner http://www.von-brauck-stiftung.com  posten.

Genau so will ich das hinkriegen.

Kirk
Logged
erpe

Offline Offline

Posts: 2077


WWW
« Reply #29 on: September 11, 2008, 09:20:21 AM »

Das habe ich schon in mehreren threads getan.
Die wist du sicher dann auch finden.

Gruss

erpe
Logged

VolGas

Offline Offline

Posts: 9


« Reply #30 on: February 18, 2009, 07:56:43 AM »

Hallo Allerseits!

Nachdem ich mir auch an einem zweiten Menü zunächst die Zähne ausgebissen hatte, fand ich dann, nachdem ich endlich kapierte, was wie geschah, eine sogar ganz einfache Lösung - ganz ohne zusätzlichen Programmieraufwand und ohne Tricks.


Lösung

Der zweite Wert von "show_menu2", der angibt, bei welcher Menüebene das Menü starten soll, so definieren:
$wb->page['root_parent']

Damit ist festgelegt, das als Startelement IMMER die erste Ebene der gerade ausgewählten Memüstruktur genommen wird. Voila, das Menü steht nun wie fest gemauert, egal welcher Sub-Level gewählt wird.


Praktisches Beispiel

Das zweite Menu soll in dieser Art angezeigt werden:    Impressum | Kontakt

Dazu im Template wie folgt einsetzen:

<?php  // Submenu
    show_menu2(2, $wb->page['root_parent'], SM2_ALL,
        SM2_ALL | SM2_PRETTY,
        ' | [a][menu_title]</a>',   // aItemOpen
        '',                         // aItemClose
        '',                         // aMenuOpen
        '',                         // aMenuClose
        '[a][menu_title]</a>',      // aTopItemOpen
        ''                          // aTopMenuOpen
    );
?>


Die Website hat nun ein Menü zur Wahl der Sprache, jeweils ein Haupmenü (mit beliebigen Sublevels) und ein stabiles Submenü je Sprache. (Bevor noch jemand fragt: natürlich nicht durch dieses Snippet alleine!)

mfg.
  VolGas
« Last Edit: February 18, 2009, 08:58:56 AM by VolGas » Logged
CyberDyne

Offline Offline

Posts: 158


« Reply #31 on: February 18, 2009, 04:23:44 PM »

Hallo Allerseits!

Nachdem ich mir auch an einem zweiten Menü zunächst die Zähne ausgebissen hatte, fand ich dann, nachdem ich endlich kapierte, was wie geschah, eine sogar ganz einfache Lösung - ganz ohne zusätzlichen Programmieraufwand und ohne Tricks.
mfg.
  VolGas

Hallo,
ich bin völlig baff! Habe leider im Moment nicht die Zeit Deine Lösung bis ins letzte Detail umzusetzen, doch ein erster Versuch offenbart grandioses!

Es scheinen sich auf Anhieb gleich mehrere Probleme mit der Mehrsprachigkeit und mehreren Menüs in wohlgefallen aufzulösen!

Absolut irre!
 grin
Viele Grüße,
Klaus
Logged
VolGas

Offline Offline

Posts: 9


« Reply #32 on: February 18, 2009, 11:15:46 PM »

Freut mich, das es Dir gefällt.
Das Beispiel oben ist ja schon um eine spezielle Darstellung "erweitert" - für ein "normales" WB-Menü reicht ja schon die erste Parameterzeile. Die gefundene Lösung funktioniert übrigens nicht nur mit einem Submenü, sondern erlaubt theoretisch beliebig viele...  grin

Dadurch, daß man sich nun immer auf das erste, "oberste" Element des aktuellen Menüpunktes bezieht, fällt die Abhängigkeit zum aktuellen Menülevel, in dem man sich gerade befindet. Das war nämlich das Problem: solange man sich in der zweiten Menüebene (Hauptmenü, erste Ebene: Sprachen) aufhielt, kam man ganz gut zurecht. Ging man aber einen Level weiter nach "unten", dann galt dies auch für alle weiteren Menüs - nur die im selben Level wurden angezeigt, d.h. es verschwanden alle weiteren Menüs, denn sie sind ja nur für den ersten Unterlevel definiert...

Man könnte so natürlich einiges an "Voodoo" erzeugen, aber in der Regel will man ja nur ein statisches Submenü, das keine "Levelsprünge" mitmacht. Manchmal erstaunlich, mit was man sich stundenlang herumschlägt. Wie sollte man so etwas erklären oder gar in Rechnung stellen? Ist doch einfach nur ein "pobeliges" Submenü wie es zig-tausendfach auch bei anderen vorkommt...

Wie auch immer: ich hoffe, ich konnte mich soweit verständlich ausdrücken.
Wenn nicht, hoffe ich, daß es wenigstens geholfen hat.  cool

mfg.
  VolGas
Logged
BerndJM

Offline Offline

Posts: 1764



« Reply #33 on: February 19, 2009, 02:46:46 AM »

Hi,

als einer, der ja auch schon x-Stunden in das Problem versenkt hat, ziehe ich meinen imaginären Hut vor dir grin
Mir wäre es nie im Traum eingefallen an der Stelle einen WB-internen Aufruf einzusetzen ... einfach genial!

Grüßle Bernd
Logged

In theory, there is no difference between theory and practice. But, in practice, there is.
VolGas

Offline Offline

Posts: 9


« Reply #34 on: February 19, 2009, 08:53:35 AM »

Danke für die Blumen.

Aber Achtung: $wb->page['root_parent'] ist KEIN(!) Aufruf einer Funktion (runde Klammern), sondern nur eine Array-Variable (eckige Klammern) des WB-Objekts.

mfg.
  VolGas
« Last Edit: February 19, 2009, 08:57:34 AM by VolGas » Logged
erpe

Offline Offline

Posts: 2077


WWW
« Reply #35 on: February 19, 2009, 10:56:17 AM »

Hallo

was immer es auch ist, ist mir ziemlich egal.
Wenn es so funktioniert ist das die Antwort auf eine Reihe von Nächten, in denen ich versucht habe, das Problem anständig zu lösen.

Werde es mal kurzfristig ausprobieren und dann (wahrscheinlich) ebenfalls meinen Hut ziehen.

Gruss

erpe
Logged

BerndJM

Offline Offline

Posts: 1764



« Reply #36 on: February 19, 2009, 10:56:51 AM »

Danke für die Verdeutlichung,
habe mich wohl mit meinem "WB-internen Aufruf" etwas ungeschickt ausgedrückt shocked

Grüßle Bernd
Logged

In theory, there is no difference between theory and practice. But, in practice, there is.
CyberDyne

Offline Offline

Posts: 158


« Reply #37 on: February 19, 2009, 12:13:38 PM »

Werde es mal kurzfristig ausprobieren und dann (wahrscheinlich) ebenfalls meinen Hut ziehen.

Gruss

erpe

Ziehe jetzt den Hut und falle nachher auf die Knie. Dies die korrekte Reihenfolge! grin
Logged
erpe

Offline Offline

Posts: 2077


WWW
« Reply #38 on: February 19, 2009, 12:23:42 PM »

Wenn ich mich auf deine Aussage verlassen kann:

Ich ziehe jetzt den Hut und falle auf die Knie  grin

Gruss

erpe
Logged

kirk
WebsiteBaker Org e.V.

Offline Offline

Posts: 204



WWW
« Reply #39 on: February 22, 2009, 05:52:45 AM »

Ich werd bekloppt das funktioniert ja wirklich.

Endlich eine Lösung.
Nur eine Sache. Im Quellcode wird es so ausgegeben:

<div id="navlist">
<!-- show_menu2 -->
 
    <a href="http://localhost/wb/pages/de/impressum.php" target="_top">impressum</a>   
      <a href="http://localhost/wb/pages/de/de.php" target="_top">de</a>   
 </div>

ich bräuchte es aber mit ul und li tags damit ich das ganze auch hübsch machen kann
also so:

<div id="slatenav">
    <ul class="menu-top"><li class="menu-sibling menu-first"><a href="http://localhost/wb/pages/de/de-1.php" target="_top">DE 1</a></li><li class="menu-sibling"><a href="http://localhost/wb/pages/de/de-2.php" target="_top">DE 2</a></li><li class="menu-sibling menu-last"><a href="http://localhost/wb/pages/de/de-3.php" target="_top">DE 3</a></li></ul>    </div>
    </div>


lässt sich da was machen ?

Kirk
Logged
VolGas

Offline Offline

Posts: 9


« Reply #40 on: February 22, 2009, 06:00:55 AM »

Wie schon geschrieben:

Das Beispiel oben ist ja schon um eine spezielle Darstellung "erweitert" - für ein "normales" WB-Menü reicht ja schon die erste Parameterzeile. ...

Also: "showMenu2" wie gewohnt benutzen, nur der zweite Parameter ist gegen $wb->page['root_parent'] auszutauschen - sonst bleibt alles wie gewohnt, es ändert sich an der Handhabung rein gar nix!

mfg.
  VolGas

Logged
kirk
WebsiteBaker Org e.V.

Offline Offline

Posts: 204



WWW
« Reply #41 on: February 22, 2009, 06:22:39 AM »

Alles klar ich hab´s kapiert.

Ja Mensch ich muss wohl auch auf Knie fallen
Hier wurde schon so lange auf diesem Thema rum geeiert das ich es schon abgehakt hatte.

Wir sollten ein Tutorial verfassen damit WebsiteBaker auch in Sachen Mehrsprachigkeit  so einfach ist wie Baker sonst ist.

Kirk
Logged
VolGas

Offline Offline

Posts: 9


« Reply #42 on: February 22, 2009, 06:31:01 AM »

Bitte steht doch alle wieder auf und zieht auch Euere Hüte wieder auf- nicht, daß ihr euch erkältet! (lauter alte Männer?)  grin

Diese Lobhudelei ist mir peinlich, zumal der Aufwand herzlich gering war...
(es hilft ungemein, wenn man sich einmal im Template alle Variabeln anzeigen lässt! - RTFM usw.)

mfg.
  VolGas
Logged
kirk
WebsiteBaker Org e.V.

Offline Offline

Posts: 204



WWW
« Reply #43 on: February 22, 2009, 06:38:39 AM »

na gut hören wir auf damit  smiley

das mit dem Einfach ist aber relativ.

Aber dazu haben wir ja unser nettes Forum
Logged
CyberDyne

Offline Offline

Posts: 158


« Reply #44 on: March 03, 2009, 03:42:59 PM »

Bitte steht doch alle wieder auf und zieht auch Euere Hüte wieder auf- nicht, daß ihr euch erkältet! (lauter alte Männer?)  grin
mfg.
  VolGas

Hallo,
stehe wieder auf 2 Beinen, nun jedoch vor dem Problem mit der Seite mit den Suchergebnissen. Wegen der Mehrsprachigkeit wird die Suche nach den betreffenden Sprachen gefiltert, sollen ja nur die Ergebnisse in der jeweiligen Sprache ausgegeben werden.
Das mach ich wie folgt:
Code:
           <?php if(SHOW_SEARCH) {
        global 
$wb;
        
$link $wb->page['link'];
        if(
strpos($link'/pages/english/')!==FALSE) {
            
$search_path '/pages/english/';
        } elseif(
strpos($link'/pages/deutsch/')!==FALSE) {
            
$search_path '/pages/deutsch/';
        } elseif(
strpos($link'/pages/french/')!==FALSE) {
            
$search_path '/pages/french/';
        } elseif(
strpos($link'/pages/italy/')!==FALSE) {
            
$search_path '/pages/italy/';
        } elseif(
strpos($link'/pages/poland/')!==FALSE) {
            
$search_path '/pages/poland/';
        } elseif(
strpos($link'/pages/russia/')!==FALSE) {
            
$search_path '/pages/russia/';
        } elseif(
strpos($link'/pages/spain/')!==FALSE) {
            
$search_path '/pages/spain/';
        } elseif(isset(
$_REQUEST['search_path'])) {
            
$search_path $wb->add_slashes(strip_tags($_REQUEST['search_path']));
        } else {
            
$search_path '';
        }
?>

Nun verschwinden im Suchergebnis alle Menüs aus der Ansicht und ich denke vor Deinem genialen Einfall mit dem root_parent waren die noch da.

Hat da jemand ne Idee dazu, wie ich auch auf der Suchseite die Menüs wieder kriege?

Viele Grüße,
Klaus
Logged
CyberDyne

Offline Offline

Posts: 158


« Reply #45 on: March 13, 2009, 01:12:23 PM »

...
Nun verschwinden im Suchergebnis alle Menüs aus der Ansicht und ich denke vor Deinem genialen Einfall mit dem root_parent waren die noch da.
Die Ergänzungen nach Anleitung der show_menu2 Seite sind natürlich im Template und der Kopfzeile der Suchfunktion im Backend gemacht
Formtag im Template:
Code:
<input type="hidden" name="referrer" value="<?php echo defined('REFERRER_ID')?REFERRER_ID:PAGE_ID;?>" />
Backend:
Code:
<input type="hidden" name="referrer" value="[REFERRER_ID]" />
Hat da keiner ne Idee zu, wie ich auch auf der Suchseite die Menüs wieder kriege?

Viele Grüße,
Klaus

Logged
VolGas

Offline Offline

Posts: 9


« Reply #46 on: March 13, 2009, 01:26:15 PM »

Sorry - ich habe mich mit der Suchfunktion von WB noch nicht auseinander gesetzt.
Ich kann Dir daher dabei nicht weiterhelfen.

mfg.
  VolGas
Logged
CyberDyne

Offline Offline

Posts: 158


« Reply #47 on: March 13, 2009, 02:28:06 PM »

Sorry - ich habe mich mit der Suchfunktion von WB noch nicht auseinander gesetzt.
Ich kann Dir daher dabei nicht weiterhelfen.

mfg.
  VolGas

Hallo,
na und ich bin da nicht versiert genug, um die Einzelheiten der Programmierung zu verstehen.
Der Grund liegt wohl in der page_id, welche die Suchfunktion im Ergebnis nicht bereithält. Somit hat show_menu2 keine Möglichkeit das entsprechende Menü aufzubauen.

Abhilfe sollen jene zwei obig erwähnten Einträge schaffen, tun sie aber leider nicht.


Vielleicht hat ein anderer einen Tip dazu?

Gruß,
Klaus
Logged
kirk
WebsiteBaker Org e.V.

Offline Offline

Posts: 204



WWW
« Reply #48 on: April 15, 2009, 08:39:20 PM »

Hier mal eine Anleitung zum ewigen Thema Mehrsprachig mit mehreren Menüs so wie ich es auf meiner Seite realisiert habe und damit sehr zufrieden bin.

www.micro-agentur.de

Es gibt ein horizontales Hauptmenü, ein vertikales Menü für das sublevel des Hauptmenü, und ein footer Menü. Dabei ist das Ziel das das footer Menü auch mitbekommt welche Sprache ausgewählt ist. Die Sprachwahl wird nicht über show_menu2 aufgerufen sondern  in das Template eingecodet. Dazu später mehr.

Voraussetzung ist ein WB 2.7 mit show_menu2

Im Backend Optionen mehrere Menüs einschalten.

In der info.php des Template für das das zweite footer menü eine id und einen Namen vergeben:


Code:
// Definition der Menüelemente (wenn mehr als 1 Menü verwendet wird)
$menu[1]    = 'Hauptnavigation';
$menu[2]    = 'Footernavigation';

In der index.php die horizontale Hauptnavigation Level1 so aufrufen:

Code:
<?php show_menu2(1SM2_ROOT+1SM2_START); ?>

für das Level2 der Hauptnavigation welches ich auf meiner Seite vertikal einbinde diesen Code:

Code:
<?php show_menu2(1SM2_ROOT+2SM2_START); ?>

Die Footernavigation wird so aufgerufen:

Code:
<?php  // Submenu
    
show_menu2(2$wb->page['root_parent'], SM2_ALL,
        
SM2_ALL SM2_PRETTY); ?>

Jetzt muss im Backend für jede Sprache ein Seitenbaum angelegt werden. Hier als Beispiel DE und EN.
Jede der Sprachen bekommt eine Eingangsseite welche als "Menü Link" Seite realisiert wird. Jede weitere Seite
in diesem Sprach Ast ist dann eine Unterseite der "Menü Link" Seite die wir DE bzw. EN nennen.
Wichtig: Eine der "Menü Link" Seiten muss als erstes angelegt werden damit der URL Aufruf auch gleich den richtigen
Sprachbaum zeigt in diesem Fall DE - Start

- DE           (Hauptnavigation root level)
   - Start     (Hauptnavigation level1 Unterseite von DE)
      Seite1   (Hauptnavigation level2 Unterseite von Start)
      Seite2   (Hauptnavigation level2 Unterseite von Start)
      Seite3   (Hauptnavigation level2 Unterseite von Start)

- EN           (Hauptnavigation root level)
   - Home      (Hauptnavigation level1 Unterseite von EN)
      Page1    (Hauptnavigation level2 Unterseite von Home)
      Page2    (Hauptnavigation level2 Unterseite von Home)
      Page3    (Hauptnavigation level2 Unterseite von Home)


  - Kontakt    (Footernavigation Unterseite von DE)
  - Impressum  (Footernavigation Unterseite von DE)

  - Contact    (Footernavigation Unterseite von EN)
  - Disclaimer (Footernavigation Unterseite von EN)


Jetzt fehlt noch ein Sprachwahl Menü. Das wird nicht mit show_menu2 aufgerufen sondern in die index.php des Templates eingecodet.

Code:
<a href="http://yourdomain/pages/de/start.php"><img src="<?php echo TEMPLATE_DIR?>/img/deflag.jpg" alt="DEUTSCH" border="0" /></a>
<a href="http://yourdomain/pages/en/home.php"><img src="<?php echo TEMPLATE_DIR?>/img/enflag.jpg" alt="ENGLISH" border="0" /></a>

Die dazu gehörigen Sprachflaggen liegen im img Ordner des Templates. Mann kann das natürlich auch mit reinen Text links machen.

Fertig. Das wars.

Ich hatte mich selbst lange Zeit durch die vielen Beiträge zu diesem Thema durchbeissen müssen und hoffe euch damit zu helfen.
Ich bin kein Programmierer und meine Anleitung versteht sich nicht als Ultimative Lösung aber so Funktioniert es zumindest bei mir.

Kirk
« Last Edit: May 07, 2009, 11:54:07 AM by kirk » Logged
Hans

Offline Offline

Posts: 565


« Reply #49 on: April 15, 2009, 09:34:21 PM »

Hallo Kirk
herzlichen Dank für diese deutliche Anleitung!
Hans
Logged

Hans - Nijmegen - The Netherlands
Pages: 1 [2] 3   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!