Search

Date and Time 2 · github.com/hananils/datetime

Date and Time Field

Date and Time provides advanced date and time management for Symphony. It offers an easy interface providing a calendar widget that helps creating multiple dates and date ranges. The field respects the system settings and displays date and time accordingly. Nevertheless, it is capable to read and understand relative date formats.

Installation

Date and Time contains two components:

  • The Date and Time field itself which provides the calendar widget,
  • Stage which offers the basic interface for adding and ordering dates.

If you are working with Git, please don't forget to pull the Stage submodule as well. If you are not using Git and want to install this extension using FTP, please just download a copy of the master branch and add Stage to lib/stage/ manually. More information about installing and updating extensions can be found in the Symphony documentation at http://getsymphony.com/learn/.

All interface related components of Date and Time are JavaScript based. If you are upgrading from an earlier version, please make sure to clear your browser cache to avoid interface issues. If another extension or the Symphony core throws a JavaScript error, Date and Time will stop working.

Updating

To update Date and Time to a newer version perform the following steps:

  • Make sure that you have a working backup of your Symphony install.
  • Update the Date and Time folder by either updating the repository and submodule or by replacing the files manually.
  • Log into the backend and enable the Date and Time extension to run the update script.

Field Settings

Date and Time offers the following field settings:

  • allow creation of new items: this will add a Create New button to the interface
  • allow sorting of items: this will enable item dragging and reordering
  • allow time editing: this will display date and time in the interface
  • allow date ranges: this will enable range editing
  • pre-populate this field with today's date: this will automatically add the current date to new entries

Data Source Filtering

Version 2.0 introduces new filter options in the data source editor:

  • prefixing a filter with start: will only check start dates,
  • prefixing a filter with end: will only check end dates,
  • prefixing a filter with strict: will check, if start and end date are in the given filter range,
  • filters without prefixes will check, if start or end date are in the given filter range.

As of version 2.1 there is an additional filter mode:

  • prefixing a filter with extended: will work like the unprefixed filter but will additionally fetch single dates (those without end date) that lie in the past. This is helpful if you like to display banners only between certain dates and if the user didn't enter an end date. Using the extended filter, this will be interpreted as "display for ever".

Filters separated by comma will find all dates that match one of the given dates or ranges.
Filters separated by + will only find dates that match all of the given dates or ranges.

This extensions accepts all relative dates known to PHP's DateTime class for filtering. It also allows the creation of filter ranges with to or earlier than and later than.

Example Data Source Output

<date-and-time>
    <date timeline="1" type="range">
        <start iso="2011-12-06T10:00:00+01:00" time="10:00" weekday="2" offset="+0100">2011-12-06</start>
        <end iso="2011-12-24T18:00:00+01:00" time="18:00" weekday="6" offset="+0100">2011-12-24</end>
    </date>
    <date timeline="2" type="exact">
        <start iso="2011-12-25T09:00:00+01:00" time="09:00" weekday="7" offset="+0100">2011-12-25</start>
    </date>
</date-and-time>

Acknowledgement

This extension is not a work of a single person, a lot of people tested it and contributed to it. The initial layout of the date widget was inspired by Scott Hughes' calendar mock-up for Symphony 2.0 and Rowan Lewis' calendar overlay.

Is this extension going to be updated for 2.3 any time soon?

It will be updated in time for the final release of Symphony 2.3.

hey :)

i just installed this extension on a fresh 2.2.5 installation, attached the datasource to my page and get this on the frontend:

Fatal error: Call to undefined method DateTime::getTimestamp() in /www/htdocs/w00d7fac/fbp/extensions/datetime/data-sources/data.datetime.php on line 58

any ideas what to do about it?

thanx daniel

You're certainly running a PHP version lower than 5.3.
I should add that requirement to the readme.

thanx nils. that is certainly the case. and since i am on a shared host i will probably be rolling v1 back into place ;)

thanx for the feedback though :) azzagazz

Well, you could simply not use the Data Source bundled with version 2.0 and bundle your own.

Date and Time 2.4 Beta

A beta version of the upcoming version of this extension is available on Github: https://github.com/hananils/datetime/tree/development.

Date and Time 2.4 Beta 2

Available on Github with new date and time selection:

date and time selection

Nice improvement! That makes things a bit quicker for content editors :)

Date and Time 2 updated to version 2.4 on 14th of February 2012

Date and Time Field

  • Allow field to be required. (Thanks, Brendan!)
  • Include languages for Date and Time Data Source in preferences.
  • Added month and year selects.
  • Fix timeline behaviour.
  • General improvements. (Thanks, Brendan!)

hm, seems to not work with the publish tabs extension. regardless of what features i turn on or off in the section i always only get 2 empty text fields in the entry.

don't know if this needs to be fixed in publish tabs or here though.

cheers
daniel

If it works in a normal section without Publish Tabs, it's not a fault of this extension. Check your JavaScript console for errors.

ok, the problem seems to be with publish tabs and language redirect. console says, could not find file: DOMAIN/de/extensions/datetime/lib/stage/stage.publish.js/ and stage.publish.css/ there should be nor /de/ in the url...

if i use datetime in a section without publish tabs it works fine.

That could be because Date and Time loads in it's assets using the URL constant. I have a feeling the Language Redirect extension modifies this constant, hence the error.

Should probably confirm this is the case first before further investigation.

ok, i don't know why the date/time field even works in my other section. i have just noticed that i did not include the stage submodule -.- now that i implemented it, it works just fine even with publish tabs and the language redirect.

thanks guys!
daniel

Glad you sorted this out.

ok, i don't know why the date/time field even works in my other section

You certainly use another field type in that section that bundles Stage as well (like Subsection Manager or Dynamic Text Group).

Hi, it looks like the date/time field is always required as of v2.4, even if not set up to be so.

Please can you confirm?

I always had it prepopulated so I didn't encounter this yet. But now I have to have it empty as an option.

I have sym v2.2.5 and the latest date/time v2.4 . Actually I check it back with v2.3.2 and its all fine there.

Thanks.

Is there also a front-end datetimepicker available for this extension?

I'm creating a site with an event list where registered users can create new events. These events have a date and a specific start and end time. I've found multiple datepickers online, but it is pretty hard to find a date and time picker which looks as slick as yours.

If this is not available on the front-end, could anyway please share their experience with adding datetimepickers on there site?

Cheers!

I never needed a date picker an the front-end so far so I haven't created one for that purpose specifically. But if you copy the markup of the backend, the scripts should work on the front-end as well. Never tried it though.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details