Provides time zone data as well as a pre-populated dropdown field for SilverStripe
Provides a reusable model and data of the time zones worldwide. In addition a
dropdown field for a time zones selection is included.
For the installation you can either download the package, unzip it into your
project directory and run dev build manually or run the following commands in
your project directory:
composer require spekulatius/silverstripe-timezones
./vendor/bin/sake dev/build
The data will automatically populated on dev build.
The provided data comes from PHPs built-in function timezone_identifiers_list()
.
Before the data gets saved in the db it will be prepared so its ready to be
used.
If you want to use the dropdown field you can simply add a timezone to your db
fields:
<?php
use Spekulatius\TimeZones\Model\FieldType\TimeZone;
use Spekulatius\TimeZones\Forms\TimeZoneField;
class MyPage extends Page
{
/**
* @var array
*/
private static $db = array(
'UserTimeZone' => TimeZone::class
);
/**
* @return FieldList
*/
public function getCMSFields()
{
$fields = parent::getCMSFields();
// ...
$fields->addFieldToTab(
'Root.Main',
TimeZoneField::create(
'TimeZone',
'My time zone'
)
);
return $fields;
}
}
You can change the default format of the time zone in the dropdown menu by
creating a file mysite/_config/timezone.yml
and adding e.g.
SilverStripe\Core\Injector\Injector:
Spekulatius\TimeZones\Model\TimeZoneData:
properties:
format: '%Name (%Region)'
You can use 'Name', 'Region' and 'Identifier' in the string and it will be
replaced proper.
* [Future ideas/development, issues](https://github.com/spekulat/silverstripe-timezones/issues),
* [Contributing](https://github.com/spekulat/silverstripe-timezones/blob/master/CONTRIBUTING.md),
* [License](https://github.com/spekulat/silverstripe-timezones/blob/master/license.md)
This project is supported by bring your own ideas Ltd.. Bring Your Own Ideas Ltd. helps you to make your project ideas to reality.
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem