【发布时间】:2017-01-04 09:28:23
【问题描述】:
我必须在自定义管理模块中添加一个表单字段,使用户能够选择时区。那么如何获取时区列表呢?
这段代码 sn-p 给出了 Magento 1 中的时区列表。但是如何在 Magento 2 中获得相同的东西?
$timezones = Mage::getModel('core/locale')->getOptionTimezones();
【问题讨论】:
我必须在自定义管理模块中添加一个表单字段,使用户能够选择时区。那么如何获取时区列表呢?
这段代码 sn-p 给出了 Magento 1 中的时区列表。但是如何在 Magento 2 中获得相同的东西?
$timezones = Mage::getModel('core/locale')->getOptionTimezones();
【问题讨论】:
你应该像这样使用\Magento\Config\Model\Config\Source\Locale\Timezone::toOptionArray():
/**
* @param \Magento\Config\Model\Config\Source\Locale\Timezone $timezone
*/
public function __construct(
\Magento\Config\Model\Config\Source\Locale\Timezone $timezone
) {
$this->timezone = $timezone;
}
然后在您的代码中:
$options = $this->timezone->toOptionArray();
【讨论】: