meertaligheid en FEU

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
pedes
Power Poster
Power Poster
Posts: 840
Joined: Tue Jan 27, 2009 11:47 am

meertaligheid en FEU

Post by pedes »

Ik wil gebruik maken van FEU en ook meertaligheid.
Beide apart werkt ok.
De openingspagina kijkt of de bezoeker is ingelogd en komt er een Error403 dan wordt de loginbox getoond.

Echter ik krijg het niet voor elkaar om de juiste pagina te tonen mbt. de browser gebruikers taal voor de 1ste pagina (de login dus). Wellicht zit de Error403 redirect er voor iets tussne denk ik.

Ik gebruik voor de meertaligheid van de site de uitleg van Rolf zijn blog.

Iemand een tip hoe FEU te gebruiken met meertaligheid?

Mvg,
Peter
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: meertaligheid en FEU

Post by velden »

Ik neem aan dat er maar één HTTP 403 pagina kan zijn.
Ik denk dat je op de betreffende 403 pagina de checks moet doen en redirecten naar de juiste inlogpagina (taal).
Waarschijnlijk kan dat op dezelfde manier zoals Rolf het uitlegt m.b.t. de landingspagina.

Ik heb echter niet gecontroleerd of bij een 403 alle informatie die de browser meestuurt bewaard blijft/beschikbaar is op de 403 pagina zelf.
Dat zou je kunnen controleren door op die pagina enkel iets te doen als:

Code: Select all

Browser lang: {browser_lang accepted='nl,fr,de,en' default='en'}
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: meertaligheid en FEU

Post by Rolf »

Error 403 werkt hetzelfde als 404 natuurlijk en die staat beschreven in het artikel...
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
pedes
Power Poster
Power Poster
Posts: 840
Joined: Tue Jan 27, 2009 11:47 am

Re: meertaligheid en FEU

Post by pedes »

Dank u voor jullie reply...

Echter alles is ingesteld zoals het zou moeten denk ik, ik heb de error404, gewoon vervangen door een error403.

Maar ik kan in de error403 niet redirecten naar de desbetreffende home pagina... omdat het beveiligde pagina's zijn en indien de gebruiker niet ingelogd is gebruik ik de error403 pagina om de login pagina te tonen.

Indien ik de verwijzing maak naar de desbetrefende home redirect deze terug naar de loginpagina (error403) en ik krijg zo een eindeloze lus.

Iemand een idee?
Mvg,
Peter
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: meertaligheid en FEU

Post by velden »

Je moet dan ook niet naar de home-pagina doorsturen maar naar een taal-specifieke, login-pagina. Die paginas mogen niet 'protected' zijn want ook dan kom je in een lus terecht.

Of je maakt voor elke taal een 'segment' in de 403pagina en met een {if taal==...} {elseif taal==...} {/if} toon je de login in de juiste taal.
pedes
Power Poster
Power Poster
Posts: 840
Joined: Tue Jan 27, 2009 11:47 am

Re: meertaligheid en FEU

Post by pedes »

De specifieke taal pagina (1ste pagina van iedere taal) moet gewoon ingesteld worden als beveiligde pagina, anders kan iedereen de form invullen en dit mag enkel kunnen wanneer ingelogd.

Dus heb ik in de Error403 pagina zoals Velden voorsteld een {if taal==...} {elseif taal==...} {/if} toon je de login in de juiste taal.
Echter krijg ik het niet voor elkaar, hoe simpel het ook lijkt.

Ik heb dus in mijn error403 volgende staan:

Code: Select all

{strip}
{process_pagedata}
{get_root_page_alias assign='lang'}
{if $lang == 'error403'}{browser_lang accepted='nl,fr,en' default='nl' assign='lang'}{/if}
{/strip}

Als ik dan verder in de template de if-else gebruik:

Code: Select all

{if $lang == 'nl'}
nederlandse tekst
{elseif $lang == 'fr'}
franse tekst
{else}
engelse tekst
{/if}
dan ontdek ik eigenlijk dat de variabele $lang nl_NL is en niet nl of fr of en. de variabele is de ingestelde frantend taal in het admin, als ik daar vb. niets instel wordt de variabele $lang en_EN.

Heel vreemd... althans voor mij ;)
Want als ik dan kijk in de broncode als de browsertaal frans is dan zie ik wel dat
<__html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang}">
toch
<__html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
wordt.

Wellicht vergeet ik iets??
De url is wel correct, dus voor de franse browser instelling krijg ik wel degelijk de www(dot)website(dot)com/fr/home-fr.

Dank voor een eventueel idee..
Mvg,
Peter
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: meertaligheid en FEU

Post by velden »

Het is wel belangrijk op welke plaatsen binnen je template één en ander staat. Eén en ander ivm de volgorde waarin standaard het template processed wordt door CMSMS/Smarty.

Of in ieder geval incl. de relevante code én <__html>,<head> en </__body> tags.
pedes
Power Poster
Power Poster
Posts: 840
Joined: Tue Jan 27, 2009 11:47 am

Re: meertaligheid en FEU

Post by pedes »

Volgens mijn staat er wel degelijk <__html><head><__body>


Als ik vb. in de {content} {$lang} zet zou ik toch in de browser met franse instelling 'fr' moeten krijgen? Nu krijg ik nl_NL.

Wellicht zie ik iets heel stoms niet direct?
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: meertaligheid en FEU

Post by velden »

Helft van m'n post per ongeluk verwijderd; ik wilde typen:

Zou je je template willen posten met in ieder geval de relevante delen erin inc. <__html><head> en </__body> tags.
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: meertaligheid en FEU

Post by velden »

Trouwens, even gecheckt zojuist in CMSMS2, de keuze voor de '$lang' variabele is enigszins ongelukkig te noemen omdat CMSMS die zelf al gebruikt.

Ik zou dus voor een andere variabele naam gaan en als het dan nog niet werkt, die globaal declareren:

Code: Select all

{strip}
{process_pagedata}
{get_root_page_alias assign='my_lang'}
{if $my_lang == 'error403'}{browser_lang accepted='nl,fr,en' default='nl' assign='my_lang'}{/if}
{$my_lang=$my_lang scope=global}
{/strip}
En deze code dan BOVEN de <__html> tag. Dus helemaal boven aan het template.
Post Reply

Return to “Dutch - Nederlands”