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.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo

Date Range Method


Go to End


5 Posts   1845 Views

Avatar
Double-A-Ron

Community Member, 607 Posts

15 June 2008 at 5:56pm

Hi all. I'm follow the Date Documentation here: http://doc.silverstripe.com/doku.php?id=date

I have two dates, StartDate, and EndDate, and I see the cool method Range in the documentation.

$Expires.Range(date2) - You give a second date and it returns a condensed english “phrase” for that date range. E.g. “12 - 18 June” or “12 June - 23 August”.

In my template, I am trying to use this method as follows:
$StartDate.Range(EndDate)

This returns nothing. Despite both EndDate and Startdate displaying by themselves just fine. Any ideas?
Aaron

Avatar
Willr

Forum Moderator, 5523 Posts

15 June 2008 at 6:35pm

Missing a $ in front of end date by any chance?

Avatar
Double-A-Ron

Community Member, 607 Posts

15 June 2008 at 6:38pm

Sorry Will, I should have added that that was the first thing I tried. If I change the code to:

$StartDate.Range($EndDate) 

I get a parse error:
Parse error: syntax error, unexpected T_STRING, expecting ')' in C:\WINDOWS\Temp\silverstripe-cacheW--Viva_Expeditions-html\.cacheW..Viva_Expeditions.html.themes.vivaexp.templates.Tour.ss on line 344

Avatar
Willr

Forum Moderator, 5523 Posts

15 June 2008 at 6:46pm

Strange... maybe you cant pass variables into Range in the template. Might have to try somethin in a PHP method then I guess. As if your field EndDate and $EndDate dont work I dont know what else you could use!

Avatar
Double-A-Ron

Community Member, 607 Posts

15 June 2008 at 6:51pm

Thanks for trying Will. The Documentation above specifically states:

The following $ variables can be used in the template. Replace “Expires” with the name of your database field.
....
$Expires.Range(date2)

I have tried using range in a function on the page controller, but I get a 'non-object' error. May be a bug?