Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Can If Statements do this?


Reply

3 Posts   467 Views

Avatar
Johan

4 December 2011 at 1:51am Community Member, 49 Posts

Hi all

In the SS files I want to change the content of the SS file dependent on the language, so for German I want to show "de"... and I know $Level(2).URLSegment also outputs de from the URL. But when put into an IF it is not working...

<% if $Level(2).URLSegment = de %>
   <p>de
<% else %>
   <p>world
<% end_if %>

Hope some one can help.

Thank you.

Avatar
stallain

4 December 2011 at 1:38pm Community Member, 61 Posts

Hi, you can maybe try something like :

<% control Level(2) %>
<% if URLSegment = de %>
<p>...</p>
<% else %>
<p>...</p>
<% end_if %>
<% end_control %>

But I think that to change the content depending on the language, there's something simpler :

<% if Locale = de_DE %>
...
<% end_if %>

Stan

Avatar
Nivanka

4 December 2011 at 3:46pm Community Member, 395 Posts

This code is wrong,

<% if $Level(2).URLSegment = de %>

you have to drop the $ there, when you are using variables in IF blocks drop the '$'

also I agree with @stallain here, $Level(2) is a ComponentSet so you have to iterate through that.