3217 Posts in 853 Topics by 812 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1832 Views |
-
Trouble with If block syntax in templates

1 October 2009 at 7:25am
I've run into a confusing issue with template syntax, maybe somebody can help me out. The following two snippets seem like they should be equivalent, but apparently they're not. There must be a reason why, but I have no idea what it could be. Any thoughts?
In a template, this works:
<% control Parent %>
<% if URLSegment == home %>
<p>foo</p>
<% end_if %>
<% end_control %>But this does not:
<% if Parent.URLSegment == home %>
<p>foo</p>
<% end_if %>The second example returns a blank page and logs this error:
"PHP Parse error: syntax error, unexpected '}' in /private/var/folders/HJ/HJPYl5CrFjSn7+gK6JPhl2pKtAE/-Tmp-/silverstripe-cache-Applications-MAMP-htdocs/.cache.Applications.MAMP.htdocs.themes.mytheme.templates.Page.ss on line 264"
-
Re: Trouble with If block syntax in templates

1 October 2009 at 6:55pm
One note - I didn't think the template worked with == thought it needed to be =.
I think that this is a limitation with the parser. Its not able to evaluate Parent.URLSegment *then* do the comparison, it can only evaluate once per statement. You are probably best doing it with the control then the if.
| 1832 Views | ||
|
Page:
1
|
Go to Top |


