Welcome, Guest. Please login or register.
Did you miss your activation email?
May 24, 2012, 09:30:16 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.
155443 Posts in 21703 Topics by 7731 Members
Latest Member: zvaigzdzius
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Problem mit zweisprachiger Site und mehreren Menüs  (Read 3159 times)
Rayne

Offline Offline

Posts: 136


« on: October 23, 2008, 07:51:51 PM »

Hallo.

Ich bastel gerade an einer Website, die aus 2 Menüs besteht (Hauptmenü und Untermenü) und zweisprachig werden soll.

Leider ist das CMS aufgrund fehlenden Webspaces noch nicht online, daher ein Screenshot, um es zu veranschaulichen:

http://s1b.directupload.net/file/d/1591/7ntjau7o_jpg.htm

Momentaner Stand:

Im Backend habe ich 2 Seitenbäume, einen für Deutsch (de) und einen für Englisch (en). Beim Klick auf die Deutsche Fahne wird auch die Deutsche Hauptnavigation angezeigt, beim Klick auf die Englische Flagge wird nur die Englische Navigation angezeigt. So weit so gut. Hier nochmal zur Übersicht die Struktur des Backends: http://s4b.directupload.net/file/d/1591/9zuryikr_jpg.htm

Problem:

Neben der Hauptnavigation gibt es noch die Unternavigation bestend aus Home, Impressum und Sitemap. Wie kann ich diese auch den beiden Sprachen zuweisen, sodass diese genau wie die Hauptnavi wechselt beim Klick auf die Flaggen? Also mal das deutsche Impressum, mal das englische etc.

Problem 2:

Wie kann ich auch die Aufschrift "Suchen" oben rechts beim Suche-Button der jeweiligen Sprache anpassen?

Problem 3:

Beim Klick auf Suchen oder Impressum oder Sitemap ist die Hauptnavi ganz weg shocked

Hier meine index.php:

Code:
<?php
    
if(!defined('WB_URL')) {
    
header('Location: ../index.php');
    exit(
0);
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php if(defined('DEFAULT_CHARSET')) { echo DEFAULT_CHARSET; } else { echo 'utf-8'; }?>" />
<link rel="stylesheet" type="text/css" href="<?php echo TEMPLATE_DIR?>/styles.css">
<?php register_frontend_modfiles('js');?>
<title><?php page_title(); ?></title>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<meta name="description" content="<?php page_description(); ?>">
<meta name="keywords" content="<?php page_keywords(); ?>">
</head>
<body>
<div id="Huelle-gesamt"><a name="Top"></a>
<div id="Rand-oben"></div>
<div id="Huelle-klein">
<div id="Sub-Navi">
<div id="Sub-Navi-Links">
<?php show_menu2(2); ?>
<ul class="Sprachen">
 <li><a href="<?php echo WB_URL.PAGES_DIRECTORY.'/'.'de'.PAGE_EXTENSION?>"><img src="<?php echo TEMPLATE_DIR?>/Bilder/deutsch.jpg" alt="DE" title="diese Seite in Deutsch"></a></li>
 <li><a href="<?php echo WB_URL.PAGES_DIRECTORY.'/'.'en'.PAGE_EXTENSION?>"><img src="<?php echo TEMPLATE_DIR?>/Bilder/englisch.jpg" alt="EN" title="this site in English"></a></li>
</ul>
</div>
</div>
<div id="Suche">
<div id="Suche-Feld">
<form name="search" action="<?php echo WB_URL?>/search/index.php" method="get">
    <input type="text" name="string" class="search_string" />
    <input type="submit" name="submit" value="<?php echo $TEXT['SEARCH']; ?>" />
  </form>

</div>
</div>
<div class="clear"></div>
<div id="Header-klein"></div>
<div id="Header"></div>
<div class="clear"></div>
<div id="Huelle-Navi">
<?php show_menu2(1SM2_ROOT+1,SM2_CURR+1); ?>
</div>
<div id="Huelle-Content">
<?php page_content(); ?>
</div>
<div class="clear"></div>
</div>
<div id="Abschluss">
<div id="Divider"></div>
<div id="Huelle-Footer">
<div id="Huelle-Footer-Inhalt">Copyright 2008 | Super-Team with Prof. Dr. Hase
</div>
<div id="Huelle-Footer-Top"><a href="#Top">nach
oben</a></div>
</div>
</div>
<div id="Rand-unten"></div>
</div>
</body></html>

Ich bin für jede Hilfe dankbar!! Smiley
« Last Edit: October 23, 2008, 08:39:58 PM by Rayne » Logged
erpe

Offline Offline

Posts: 2077


WWW
« Reply #1 on: October 23, 2008, 09:44:55 PM »

Benutze mal die Suche, da wurde gerade in diesen Tagen eine Lösung gepostet.

Gruss

erpe

Logged

Rayne

Offline Offline

Posts: 136


« Reply #2 on: October 23, 2008, 09:53:09 PM »

Ich habe diese Foren-Sektion bis auf die dritte Seite durchforstet und alle relevanten Themen der Suche ("zweisprachig", "mehrere Menüs") angeguckt, aber leider keine Lösung gefunden shocked

Wärst du so nett, mir den Link zum besagten Thread zu posten? Danke Smiley
Logged
erpe

Offline Offline

Posts: 2077


WWW
« Reply #3 on: October 23, 2008, 10:16:48 PM »

http://www.websitebaker2.org/forum/index.php/topic,11469.msg68980.html#msg68980


Gruss

Die Suchmaschine
Logged

Rayne

Offline Offline

Posts: 136


« Reply #4 on: October 24, 2008, 09:13:14 AM »

OK, danke. Auf diesen Thread bin ich auch schon gestoßen, aber DIE optimale Lösung scheint mir das auch nicht zu sein...die Seitenbaum-Struktur sieht doch sehr konfus aus.

Momentan scheint es also keine Lösung für 2 unabhängige Menüs zu geben, oder?

Was aber zusätzlich ungeklärt ist, ist die Sache mit der Suche. Sobald ich die Suche benutze, ist keine Navigation mehr vorhanden. Wie kann man also die Suche in das zweisprachige System integrieren?
Logged
erpe

Offline Offline

Posts: 2077


WWW
« Reply #5 on: October 24, 2008, 09:22:35 AM »

Dann wirst du wohl DIE optimale Lösung für dich und für uns andere selber herausfinden müssen und kannst sie dann ja hier posten.

Gruss

erpe

Logged

kweitzel
Forum administrator
*****
Offline Offline

Posts: 6975


WWW
« Reply #6 on: October 24, 2008, 11:15:27 AM »

OK, danke. Auf diesen Thread bin ich auch schon gestoßen, aber DIE optimale Lösung scheint mir das auch nicht zu sein...die Seitenbaum-Struktur sieht doch sehr konfus aus.

Was Du willst geht nur mit einer Baumstruktur, Du kannst aber 4 versteckte "Hauptseiten" verwenden. je einen für das Hauptmenü der Verschiedenen Sprachen und eine Für das Untermenü ind den verschiedenen Sprachen (als 2 "Äst" pro Sprache).

Momentan scheint es also keine Lösung für 2 unabhängige Menüs zu geben, oder?

Nein ... leider nicht.

Was aber zusätzlich ungeklärt ist, ist die Sache mit der Suche. Sobald ich die Suche benutze, ist keine Navigation mehr vorhanden. Wie kann man also die Suche in das zweisprachige System integrieren?

Da gibt es einen Fix irgendwo hier im Forum. Der Grund für Dein "Problem" ist, dass z.B. die Suche keine eigene PageID hat sondern 0 als PageID übergibt. Such mal nach "pageid search" oder so ähnlich ...

Gruß

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

Rayne

Offline Offline

Posts: 136


« Reply #7 on: October 24, 2008, 11:23:45 AM »

Danke für deine Antwort.

Meinst du das mit dem Seitenbaum in etwa so?:

http://s1b.directupload.net/file/d/1592/bzdu6jlt_jpg.htm

Also die untersten Elemente Home, Impressum und Sitemap sind vom Typ alles Menu-Link und verweisen auf das versteckte Untermenü in "de". Der eigentliche Inhalt steht in diesen versteckten Untermenüs. Die tauchen dann folglich auch nicht in der Navi auf, nur dessen Inhalt.

In meiner info.php habe ich 2 Menüs:

$menu[1]   = 'Hauptnavigation';
$menu[2]   = 'Unternavigation';

Home, Sitemap und Impressum gehören zu Menü2.  Würde ich jetzt auch unter dem Ast "en" das Submenü füllen, gäbe es aber keine Links, die darauf verweisen...Oder kann man Home-Link, Impressum-Link un Sitemap-Link irgendwie tauschen?

Oh gott, ich bin grad leicht verwirrt und hoffe auf Hilfe Smiley
Logged
BerndJM

Offline Offline

Posts: 1764



« Reply #8 on: October 24, 2008, 01:58:24 PM »

Hi,
zu deinem Suchproblem, aus der aktuellen Doku:
Quote
Q:  Warum verschwindet das Menü nachdem ich in einer mehrsprachigen WB-Site die
    Suchfunktion benutzt habe?

A:  Im verwendeten Template fehlen die notwendigen Zeilen:

    1.  Im WB Admin Backend: Optionen -> Erweiterte Optionen anzeigen ->       
        Suchoptionen -> Kopfzeile - hier direkt nach dem öffnenden <form> tag
        folgende Zeile einfügen:
       
        <input type="hidden" name="referrer" value="[REFERRER_ID]" />


    2.  In der index.php des verwendeten Templates folgende Zeile unmittelbar   
        nach dem öffnenden <form> tag der Suche einfügen:

        <input type="hidden" name="referrer" value="<?php echo defined('REFERRER_ID')?REFERRER_ID:PAGE_ID;?>" />

Grüßle Bernd
Logged

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

Offline Offline

Posts: 136


« Reply #9 on: October 24, 2008, 02:43:07 PM »

Hm, Problem besteht weiterhin.

So sieht nun die Kopfzeile der Suchoptionen im Backend aus:

Code:
<h1>[TEXT_SEARCH]</h1>
<br />
<form name="search" action="[WB_URL]/search/index.php" method="get">
<input type="hidden" name="referrer" value="[REFERRER_ID]" />
<table cellpadding="3" cellspacing="0" border="0" width="520px">
<tr>
<td>
<input type="hidden" name="search_path" value="[SEARCH_PATH]" />
<input type="text" name="string" value="[SEARCH_STRING]" style="width: 360px;" />
</td>
<td width="150px">
<input type="submit" value="[TEXT_SEARCH]" style="width: 100%;" />
</td>
</tr>
<tr>
<td colspan="2">
<br />
<input type="radio" name="match" id="match_all" value="all"[ALL_CHECKED] />
<label for="match_all">[TEXT_ALL_WORDS]</label>
<input type="radio" name="match" id="match_any" value="any"[ANY_CHECKED] />
<label for="match_any">[TEXT_ANY_WORDS]</label>
<input type="radio" name="match" id="match_exact" value="exact"[EXACT_CHECKED] />
<label for="match_exact">[TEXT_EXACT_MATCH]</label>
</td>
</tr>
</table>

</form>
<br />
<hr />    

Und so der Code in der index.php:

Code:
<form name="search" action="<?php echo WB_URL?>/search/index.php" method="get">
<input type="hidden" name="referrer" value="<?php echo defined('REFERRER_ID')?REFERRER_ID:PAGE_ID;?>" />
    <input type="text" name="string" class="search_string" />
    <input type="submit" name="submit" value="<?php echo $TEXT['SEARCH']; ?>" />
  </form>

Achja...zu dem Problem mit der verschwunderenn Navigation kommt noch hinzu, dass der Header komplett abgeschnitten wird, das war aber auch schon vor der Änderung so. Woran kann das denn liegen? shocked

So sieht die Seite aus, wenn ich einen Suchbegriff eingegeben habe (Navi ist weg):

http://s7b.directupload.net/file/d/1592/65pkhu9i_jpg.htm

Und so, wenn ich auf ein Suchergebnis geklickt habe:

http://s2b.directupload.net/file/d/1592/kds8anzg_jpg.htm
Logged
Rayne

Offline Offline

Posts: 136


« Reply #10 on: October 26, 2008, 12:06:40 AM »

OK, jetzt funktioniert es: Hatte noch SM2 Version 2.5 installiert. Mit der aktuellen Version 2.7 klappt es Smiley
« Last Edit: October 26, 2008, 10:48:48 PM by Rayne » Logged
spongebob

Offline Offline

Posts: 2


« Reply #11 on: April 14, 2009, 03:28:26 PM »

Hmm, bei mir geht das leider nicht, ich bekomme zwar ne schöne URL

http://www.seite.de/search/index.php?referrer=65&string=laurette&submit=Search

aber die Navi fehlt trotzdem

jemand ne Idee
Logged
spongebob

Offline Offline

Posts: 2


« Reply #12 on: April 15, 2009, 07:06:46 PM »

irgendwie liegt das ja an den Menüparametern

ich habe   show_menu(1,1,-1,true..... eingestellt.

Damit werden die oberen Seiten DE und EN nicht gezeigt

stell ich um auf show_menu(1,0,-1,true... kann man die unerwünschterweise sehen, auch in der Suche (dort aber nur die 2 Seiten)

ich würde ja ein anderes Template machen, nur für die Suche, weiß aber nicht, was ich da einstellen muß, momentan scheitere ich noch wink
Logged
kirk
WebsiteBaker Org e.V.

Offline Offline

Posts: 204



WWW
« Reply #13 on: April 15, 2009, 08:32:47 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: August 10, 2009, 07:37:11 PM by kirk » Logged
doc
Guest
« Reply #14 on: April 15, 2009, 09:50:39 PM »

@Kirk
Übrigens eine schöne Seite die Du da erstellt hast und eine gute Anleitung für mehrere Menüs. Bin mir sicher das können viele gut gebrauchen  smiley

Ach ja, wenn Du Code hervorheben willst, verwende mal das Icon mit dem # Symbol. Dann sieht nachfolgender Code

<?php
echo 'hallo';
?>

doch gleich viel schicker aus  wink
Code:
<?php
echo 'hallo';
?>


Infos zur Formatierung mit den BBCode des Forums gibt es hier:

Gruss Christian
« Last Edit: April 15, 2009, 09:53:27 PM by doc » Logged
kirk
WebsiteBaker Org e.V.

Offline Offline

Posts: 204



WWW
« Reply #15 on: April 15, 2009, 09:57:38 PM »

Danke für das Kompliment und den Tipp.

kann ich doch noch nachträglich verbessern oder ?

Kirk
Logged
doc
Guest
« Reply #16 on: April 15, 2009, 09:58:33 PM »

Hi Kirk,

yepp Du kannst auch nachträglich Beiträge ändern.

Gruss Christian
Logged
kirk
WebsiteBaker Org e.V.

Offline Offline

Posts: 204



WWW
« Reply #17 on: April 15, 2009, 10:01:16 PM »

und schon gemacht  cheesy
Logged
doc
Guest
« Reply #18 on: April 15, 2009, 10:02:36 PM »

Na, das liest sich doch gleich viel besser (zumindest bunter).
Logged
Pages: [1]   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!