ArtikelenMultilingual CMSMS site
Gepost door joost
op 16 aug 2010 in de categorie
CMS
Een multilingual website in CMS Made Simple, hoe maak je dat? Dat is een vraag die waarschijnlijk veel mensen zich stellen. Verbazingwekkend genoeg is het heel erg makkelijk. Wij leggen het graag uit.
Stap 1. Getlang tag aanmaken en weblang definieren Als eerste maak je een gebruikers gedefinieerde tag aan met de naam getlang. session_start(); /* assigns the variable {$weblang} */ global $gCms; if (isset($_GET["lang"])) { /* Passed in the url: lang= ... */ $gCms->smarty->assign('weblang', $_GET["lang"]); if ($_SESSION['MYlang']) { $_SESSION['MYlang']=''; } $_SESSION['MYlang']= $_GET["lang"]; } elseif ($_SESSION['MYlang']) { $gCms->smarty->assign('weblang', $_SESSION['MYlang']); } else { $_SESSION['MYlang']="en"; $gCms->smarty->assign('weblang', "en"); } Stap 2. Getlang in de template zetten Vervolgens zet je deze {getlang} aan het begin van je template. Stap 3. Input vakken aanpassen Daarna maak je in je template de volgende nieuwe vakken aan (zie hieronder). Je zult zien dat deze inputvakken ook gelijk in je edit scherm verschijnen. <h2>{content block="title_nl" wysiwyg="false" oneline="true"}</h2>Stap 4. Menu file aanpassen Dit is nog niet uitgewerkt: zie http://forum.cmsmadesimple.org/index.php/topic,11756.0.html Stap 5. Eventuele problemen met modules oplossen Sommige modules werken alleen in het vak content. Dat betekent dat je een if statement moet schrijven in de contentvak en een uitzondering moet maken in je template voor die specifieke pagina (met de module erop). {if $weblang!='nl'}...{else}...{/if}Stap 6. Link voor switchen aanmaken Je kunt nu eenvoudig switchen tussen talen door een link ?lang='nl' aan te maken (er van uitgaand dat Engels je standaard taal is, zoals in dit voorbeeld). Inspiratie voor deze oplossing Deze oplossing is gebaseerd op het volgende document: http://forum.cmsmadesimple.org/index.php/topic,11756.0.html Terug |
|