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 提供,有关更多详细信息,请参阅数据部分。