bertrandom / timezone-bundle
为 Symfony2 优化的可读时区字段类型
dev-master
2014-06-03 16:16 UTC
Requires
- php: >=5.3.2
- symfony/framework-bundle: ~2.1
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 提供,有关更多详细信息,请参阅数据部分。