multi language CMS Made Simple by using switcher select

20 Views Asked by At

i'm a newbie about CMS Made Simple, at the current i have a stuck with handle multi language features.

i have already created web page with (english/ vietnamese/ japanese) with each language will have core::page for handle html inside

with default setting of system, menu navigation are render all menu (english/ vietnamese/ japanese) by using {Navigator} to relate Navigator module in 'Allxone Main Navigation'

<nav class='main-navigation cf noprint' id='nav' role='navigation'>
   {Navigator loadprops='0' template='Allxone Main Navigation'} {* A Navigator module, database Template *}
</nav>

i have also created select option for switcher language as below

<select id="languageSwitcher" style="background-color: cadetblue">
     <option value="1">English</option>
     <option value="2">Vietnamese</option>
     <option value="3">Japanese</option>
</select>

For about Navigator module in 'Allxone Main Navigation' i has some default setting code for rennder menu navigation below

{strip}
% {$node|print_r}
{$main_id = ' id=\'main-menu\''}
{function do_class}
    {if count($classes) > 0} class='{implode(' ',$classes)}'{/if}
{/function}

{function name='Simplex_menu' depth='1'}
    <ul{$main_id}{if isset($ul_class) && $ul_class != ''} class="{$ul_class}"{/if}>
        {$main_id = ''}
        {$ul_class = ''}
        {foreach $data as $node}
            {* setup classes for the anchor and list item *}
            {$list_class = []}
            {$href_class = ['cf']}
            {$parent_indicator = ''}
            {$aria_support = ''}
    
            {if $node->current || $node->parent}
                {* this is the current page *}
                {$list_class[] = 'current'}
                {$href_class[] = 'current'}
            {/if}
    
            {if $node->children_exist}
                {$list_class[] = 'parent'}
                {$aria_support = ' aria-haspopup=\'true\''}
                {$parent_indicator = ' <i class=\'icon-arrow-left\' aria-hidden=\'true\'></i>'}
            {/if}
    
            {* build the menu item node *}
            {if $node->type == 'sectionheader'}
                {$list_class[] = 'sectionheader'}
                <li{do_class classes=$list_class}{$aria_support}><span>{$node->menutext}{$parent_indicator}</span>
                {if isset($node->children)}
                    {Simplex_menu data=$node->children depth=$depth+1}
                {/if}
                </li>
            {else if $node->type == 'separator'}
                {$list_class[] = 'separator'}
                <li{do_class classes=$list_class}'><hr class='separator'/></li>
            {else}
                {* regular item *}
                <li{do_class classes=$list_class}{$aria_support}>
                    <a{do_class classes=$href_class} href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}{$parent_indicator}</a>
                    {if isset($node->children)}
                        {Simplex_menu data=$node->children depth=$depth+1}
                    {/if}
                </li>
            {/if}
        {/foreach}
    </ul>
{/function}

{if isset($nodes)}
    {Simplex_menu data=$nodes depth='0' ul_class='cf'}
{/if}

{/strip}

with the next step i do not know how can handle make Navigator module only render language menu by selected (default language will be english)

i have try research below this link
https://cmscanbesimple.org/blog/multilingual-template-for-cms-made-simple

but can not clearly for the article

I appreciate if someone can help me re-solve these features.

0

There are 0 best solutions below