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.

Template Questions

Thought Process Behind Not Allowing Quoted Parematers


Reply

8 Posts   2511 Views

Avatar
Ben Gribaudo

27 February 2009 at 3:12am Community Member, 181 Posts

Hello,

As I've been setting up a new site in SS, I've encountered a couple of situations where I wanted to pass a string containing a comma in a template method call. Example: I'd like to have used "F, Y" as a date format string. However, if I did $Date.format(F, Y), the "Y" would be treated as a second argument. Something like $Date.format("F, Y") is not supported.

Do you know why it was decided to not allow quoted strings containing commas as parameters in template method calls?

Thank you,
Ben

Avatar
Hamish

27 February 2009 at 9:13am Community Member, 712 Posts

My understanding is this: the template engine is designed to be used by non-programmers - or at least, designers with html knowledge but limited/no php background.

The date formatting is a classic example that highlights the point: "F, Y" means nothing to anyone who hasn't used the function before. The simplified templating forces you (the programmer) to create a meaningful function in the page model, like "MonthYear". This is something that a designer can look at and understand.

Avatar
Sam

27 February 2009 at 9:25am Administrator, 679 Posts

To be honest, we would probably accept a patch that allowed the quoting of parameters. What we mainly wanted to avoid is the use of complex expressions in templates.

Avatar
Ben Gribaudo

27 February 2009 at 11:45am Community Member, 181 Posts

I've begun working on a patch to allow quoted parameters. As a precursor to this, some [url=http://open.silverstripe.com/ticket/3628]unit tests[/url] have been submitted which test the parsing of template method calls.

Avatar
Ben Gribaudo

7 March 2009 at 3:09am Community Member, 181 Posts

FYI, a proof-of-concept draft patch and a request for comments on it may be found at http://groups.google.com/group/silverstripe-dev/browse_thread/thread/7842ab97f687cd1e#. I'm waiting for some confirmation that my approach is a good approach before continuing developing the patch.

Avatar
Ben Gribaudo

17 March 2009 at 2:04am (Last edited: 17 March 2009 2:05am), Community Member, 181 Posts

Sam,

I [url=http://groups.google.com/group/silverstripe-dev/browse_thread/thread/7842ab97f687cd1e#]posted[/url] to the dev list about this a couple of weeks ago but have of yet received no responses. Maybe this functionality isn't of interest. Do you still think it is profitable for me to continue building this patch?

Thank you,
Ben

Avatar
Ben Gribaudo

19 March 2009 at 8:21am Community Member, 181 Posts

The above-mentioned patch is attached to ticket [url=http://open.silverstripe.com/ticket/3738]#3738[/url]. Testers are needed to try it out!

Avatar
Nivanka

10 November 2009 at 3:25am Community Member, 395 Posts

i found a little simple hack for this and blogged.

[url]http://nivanka.blogspot.com/2009/11/using-commas-in-your-silverstripe.html[/url]