Управление часовым поясом в magento - PullRequest
0 голосов
/ 14 мая 2011

Как управлять часовым поясом в magento во время создания продукта, во внешнем интерфейсе я фильтрую продукты по времени, но проблема в том, что клиент хочет показать, что время создания продуктов зависит от часового пояса пользователя? например, я добавляю продукт в административную область, он показывает 12.21 вечера, но в то же время клиент, просматривающий этот продукт из другой страны, должен отображать текущее время в соответствии с часовым поясом пользователя. Как мы можем это сделать? пожалуйста, помогите мне выбраться из этого. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 25 мая 2011

у меня сработало.


$session = Mage::getSingleton('customer/session');
        $time_zone = $session->getCustomer()->getTimezone();
        $timeoffset = Mage::getModel('core/date')->calculateOffset($time_zone);
        $timeoffset = $timeoffset - Mage::getModel('core/date')->getGmtOffset($time_zone);



1 голос
/ 15 мая 2011

Более конкретно о том, как вы генерируете дату и как вы хотите, чтобы она отображалась ...

Вот общий подход:

В вашем коде шаблона поместите диапазон с классом вокруг ваших значений времени. Эти временные строки могут быть отформатированы с большим количеством опций, включая часовой пояс в вашем php-коде.

Поместите JavaScript там, где это необходимо: либо в заголовок (функция onload), либо в нижний колонтитул, либо в строку с вашим view.phtml.

В вашем javascript используйте библиотеку Prototype для итерации по промежуткам времени, например:

$$('yourdateclass').each(function() {
//
});  

Для каждого из этих элементов преобразовать время с Date.parse () в объект даты. Затем используйте getTimezoneOffset для учета местоположения посетителей, добавьте / вычтите соответственно и обновите внутренний html-элемент, указав предпочитаемый способ отображения времени / даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...