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

add php in template.ss


Reply


3 Posts   2622 Views

Avatar
bebabeba

Community Member, 193 Posts

22 July 2010 at 9:57pm

Hi!

in my template.ss I add php code:
<?
echo'aaaaa';
?>

and this is correct. but if i write:
<?
print_r($_REQUEST['id']);
?>

I have the following error:

Parse error: syntax error, unexpected ';' Page.ss on line 9

why??

Avatar
swaiba

Forum Moderator, 1799 Posts

22 July 2010 at 11:17pm

while I think you can use php commands in your ss templates I think you can only do it one at a time within a control, e.g.

<% sprintf(_t('IMAGE','%2.2s'),$Locale.RFC1766) %>

so I'd write each php command like this...

<% print_r($_REQUEST['id']) %>

but I am no expert.... I think what might be casuing this in fact is that you are tring to access an element in an array and it may be confusing $_REQ..... with a function... but in general I'd avoid php code in an *.ss template - it should go into the controller

Barry

Avatar
TotalNet

Community Member, 181 Posts

23 July 2010 at 10:50am

There was a comment in another post saying that templates only get one pass, so if you're not dealing with a literal value then it may not work as intended, that could have been relating to something else though.

However, as Barry has said, templates are not really intended to have code inside them, just control blocks etc. to keep it simple. If you're trying to debug as you develop then write a debug function for your page controller to spit out all the $_REQUEST variables etc.

hth