bertrandom/timezone-bundle

为 Symfony2 优化的可读时区字段类型

安装数量: 12,513

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 3

类型:symfony-bundle

dev-master 2014-06-03 16:16 UTC

This package is not auto-updated.

Last update: 2024-09-22 02:26:51 UTC


README

原始的 Symfony2 时区字段类型按大洲组织 Olson 时区标识符,并显示给用户。这个下拉菜单在 UI 方面非常糟糕。此扩展提供了一个类似在 Windows 计算机上选择时区时出现的下拉菜单。

这是我第一个 symfony2 扩展,欢迎反馈!

安装

编辑你的 deps 文件并添加以下内容

[BertTimezoneBundle]
    git=git://github.com/bertrandom/BertTimezoneBundle.git
    target=/bundles/Bert/TimezoneBundle

运行 vendors 安装脚本

bin/vendors install

这将从 github 拉取此扩展的最新版本。或者你也可以直接将文件放在 /vendor/bundles/Bert/TimezoneBundle

接下来,将命名空间添加到 autoload.php 中的 registerNamespaces 部分的末尾

$loader->registerNamespaces(array(
    'Symfony'          => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'),
    'Sensio'           => __DIR__.'/../vendor/bundles',

    .
    .
    .

	'Bert' 			   => __DIR__.'/../vendor/bundles',
));

AppKernel.php 中添加扩展

$bundles = array(
    new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
    new Symfony\Bundle\SecurityBundle\SecurityBundle(),

    .
    .
    .

	new Bert\TimezoneBundle\BertTimezoneBundle(),
);

这就完成了,字段类型应该可以使用了。

使用方法

只需在表单构建器中使用字段类型 readabletimezone,例如。

$builder
    ->add('username')
    ->add('plainPassword', 'repeated', array('type' => 'password'))
	->add('firstname')
	->add('lastname')
	->add('email', 'email')
	->add('timezone', 'readabletimezone')
;

数据

数据取自两篇关于可读时区的博客文章的研究成果

向用户展示时区列表

Olson 时区数据库到标准 Windows 时区 v0.1

我已经制作了这两篇文章的镜像,并将它们放在 Resources/source/mirrors/ 中,以防博客文章被删除。

时区数据本身可以在 Resources/config/timezones.yml 中找到

致谢

Bertrand Fan (bertrand@fan.net)

时区数据由 Avi Block 和 Tim Davis 提供,有关更多详细信息,请参阅数据部分。