WebsiteBaker Support (2.10.x) > General Help & Support
Menu for independent services and 3 languages
johnbroeckaert:
I would like advice on the design of a website where the difficulty lies in the fact that there are different services are offered that each should have their own menu and that also in three languages.
The start page on which the service should be chosen is not a problem, but the underlying pages are the challenge.
The structure of the website should therefore look something like this:
Main page: menu structure: Service 1 Service 2 Service3 Service4 (in three languages)
If Service 1 is chosen then only menu structure for service 1
Service 1 ----- menu item1 EN ----- menu item1 FR ---- mnuitem1 EN
----- menu item2 EN ----- menu item2 FR ---- mnuitem2 AND
----- menu item3 EN ----- menu item1 FR ---- mnuitem3 AND
etc.
If Service 2 is selected, then only menu structure for service 2
Service 2 ----- menu item1 EN ----- menu item1 FR ---- mnuitem1 EN
----- menu item2 EN ----- menu item2 FR ---- mnuitem2 AND
----- menu item3 EN ----- menu item1 FR ---- mnuitem3 AND
etc.
If Service 3 is chosen, then only menu structure for service 3
Service 3 ----- menu item1 EN ----- menu item1 FR ---- mnuitem1 EN
----- menu item2 EN ----- menu item2 FR ---- mnuitem2 AND
----- menu item3 EN ----- menu item1 FR ---- mnuitem3 AND
etc.
If you choose Service 4, then only menu structure for service 4
Service 4 ----- menu item1 EN ----- menu item1 FR ---- mnuitem1 EN
----- menu item2 EN ----- menu item2 FR ---- mnuitem2 AND
----- menu item3 EN ----- menu item1 FR ---- mnuitem3 AND
etc.
The languages are of course dependent on the chosen language.
I thought I would solve that with the Multilingual module
How do I only view the menus of the chosen service? For example, is it an idea to modify the template for the services and adjust the show menu 2 module with root + 1?
Thanks for contributing ideas!
Gast:
very interesting and ( i think) very tricky
it's not possible, to mix languages inside of a tree, if you use show_menu2
some questions....
--- Quote ---Main page: menu structure: Service 1 Service 2 Service3 Service4 (in three languages)
--- End quote ---
do you have for every link content in the selected language like
-- EN
---- Service1 (en)
---- Service2 (en)
-- FR
---- Service1 (fr)
---- Service2 (fr)
etc
or is it like this?
-- Service1 (en)
-- Service2 (fr)
etc
#2: if you click on one of the "Service"-Links, you have a submenu(?) like this
--- Quote ---Service 1 ----- menu item1 EN ----- menu item1 FR ---- mnuitem1 EN
----- menu item2 EN ----- menu item2 FR ---- mnuitem2 AND
----- menu item3 EN ----- menu item1 FR ---- mnuitem3 AND
etc.
--- End quote ---
and an complete different menu behind "Service2"?
and these elements are all in different languages?
if you use show_menu2, you have the language-problem with all childs inside of a tree-part.
i think, the best solution is a own menu without show-menu2,
#1 - possible with some sql-request's (works only, if you stay everywhere inside of a tree-part)
#2 - a hard-coded menu in a extra file, included in your template-index.php, use there the [wblink] as href-attribute (my favorite)
P.S.: it's of course possible, to have a page with a different content language inside of another language tree, for example
Service 1 (en) - content in english
-- menu item1 EN (PageLanguage = en) - content in english
-- menu item1 FR (PageLanguage = en) - content in french (if needed)
Service 1 (fr) - content in french
-- menu item1 EN (PageLanguage = fr) - content in french
-- menu item1 FR (PageLanguage = fr) - content in english (if needed)
etc
important in every case is the page language from the main- and the subpages in every single tree
johnbroeckaert:
@jacobi22
I will try to give you the structure of the menu.
Mainmenu NL: Winkel – Restaurant – Taarten – Kamers
EN: Store – Restaurant – Cakes – Rooms
FR: Epicerie – Restaurant – Gateaux – Chambres
NL Winkelmenu: Welkom – assortiment – bestellen – Aanbiedingen – etc
EN Store menu: Welcome - assortment – ordering - offers - etc
FR Epicerie menu: Bienvenue-assortiment-commande - offres - etc
likewise for Restaurant , Cakes and Rooms. (other names but for al the language the same (sub)menu items.)
So the sub pages of the four main-items are per item the same. like this
Service 1 (en) - content in english
-- menu item1 EN (PageLanguage = en) - content in english
-- menu item2 EN (PageLanguage = en) - content in english
etc.
Service 1 (fr) - content in french
-- menu item1 FR (PageLanguage = fr) - content in french
-- menu item1 FR (PageLanguage = fr) - content in french
etc.
on the home page you choose a language and the menu is then presented in that language. (4 services - works already) Then select one of the 4 services and the corresponding menu is presented in the chosen language. The main menu with the various services may no longer be displayed. Only the submenu items of the chosen main menu. So if you choose "store" in the main menu, only the sub-items from the store can be added on the next page and nothing else. (Welcome - assortment – ordering - offers - etc)
Like you sad: Interesting and tricky
===========================================================
Ich werde versuchen, Ihnen die Struktur des Menüs zu geben.
Hauptmenü NL: Winkel - Restaurant - Taarten - Kamers
EN: Store – Restaurant – Cakes – Rooms
FR: Epicerie - Restaurant - Torten - Chambres
NL Winkelmenü: Welkom - Sortiment - bestellen - Aanbiedingen - etc
EN Store menu: Welcome - assortment – ordering - offers - etc
FR Epicerie Menü: Bienvenue-assortiment-commande-offres-etc
ebenso für Restaurant, Kuchen und Zimmer. (andere Namen, aber für alle Sprachen die gleichen (Unter-) Menüpunkte.)
Die Unterseiten der vier Hauptelemente sind also pro Element gleich. so was
Service 1 (en) - Inhalt in Englisch
- Menüpunkt 1 EN (PageLanguage = en) - Inhalt in Englisch
- menupunkt 2 EN (PageLanguage = en) - Inhalt in Englisch
etc.
Service 1 (fr) - Inhalt auf Französisch
- Menüpunkt 1 FR (PageLanguage = fr) - Inhalt auf Französisch
- Menüpunkt 1 FR (PageLanguage = fr) - Inhalt auf Französisch
etc.
Auf der Startseite wählen Sie eine Sprache und das Menü wird dann in dieser Sprache angezeigt. (4 Dienste - funktioniert bereits) Wählen Sie dann einen der 4 Dienste in das entsprechende Menü wird in der gewählten Sprache angezeigt. Das Hauptmenü mit den verschiedenen Diensten wird nicht mehr angezeigt. Nur die Untermenüpunkte des gewählten Hauptmenüs. Wenn Sie also im Hauptmenü "Laden" wählen, können nur die Unterelemente aus dem Geschäft auf der nächsten Seite hinzugefügt werden und sonst nichts. (Willkommen - Sortiment - Bestellung - Angebote - etc)
Wie du sagt: Interessant und knifflig
Gast:
Not as hard as I thought at the beginning....if i understand everything correct :oops: :oops:
Step 1: build 3 pages with type menu-link for the flag-menu, called like the used language in upper letters like EN, FR, NL
Step 2: now, the target from the next pages are important. if you have content for every single page (for example in Epicerie) , use the needed module type on every page, if you need a redirect to the next child, use menu-link as module-type
now build the four pages like Epicerie – Restaurant – Gateaux – Chambres for every language
it's recommended, to build at first the complete tree for the main language in this project (your language-setting in wb-options), this makes a better handling for the pages languages in every page setting (inherited from the parent page) and also for the page-code-settings in all other pages
be sure, that you use everytime the correct language in this tree-part!!
to the menu
for the flag-menu, take a look into the WB-DefaultTemplate (best solution in WB 2.11 RC-Versions - the stable Version come's tomorrow)
the four main pages like Epicerie – Restaurant – Gateaux – Chambres
ShowMenu2 like
--- Code: ---<div class="topmenu">
<?php
echo show_menu2(1, SM2_ROOT+1, SM2_START, SM2_TRIM|SM2_PRETTY,'<li><span class="menu-default">[ac][menu_title]</a></span>','</li>','<ul>','</ul>');
?>
</div>
--- End code ---
P.S.: it's a very simple call and needs css. this menu show's only the Level1- pages
the submenu
--- Code: ---<div class="menu">
<?php
echo show_menu2(1, SM2_ROOT+2, SM2_ALL, SM2_ALL|SM2_PRETTY,'<li><span class="menu-default">[ac][menu_title]</a></span>','</li>','<ul>','</ul>');
?>
</div>
--- End code ---
P.S.: dont forget to set the target for the 3 Main-Pages EN, FR, NL
this menu show's all other subpages on a different place
picture with some example pages
johnbroeckaert:
Thank You @jacobi22!
I will try this tommorow and post some feedback overhere.
One question. Don't I need the laguage module?
Have a nice evening!
Navigation
[0] Message Index
[#] Next page
Go to full version