WebsiteBaker Support (2.10.x) > General Help & Support

Menu for independent services and 3 languages

(1/3) > >>

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!

jacobi22:
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

jacobi22:
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