Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] Время клиента в карточке заказа


Zavik21
 Поделиться

Рекомендованные сообщения

Добрый день!

Такая идея, хорошо было бы если выводилось в карточке заказа время местное у покупателя.

Подскажите, в какую сторону рыть? 

Ссылка на комментарий
Поделиться на других сайтах


можно немного поподробнее? как задать смещение? или куда обращаться чтобы отдавало время выбранного региона?

Ссылка на комментарий
Поделиться на других сайтах


можно js скриптом устанавливать в <input type"hidden" name="client_time" /> время

 

$('input[name=client_time]').val(Date());

И предавать и обрабатывать в с методах оформления заказа

Ссылка на комментарий
Поделиться на других сайтах

Zavik21,

http://php.net/manual/ru/timezones.php

http://php.net/manual/ru/timezones.europe.php

http://php.net/manual/ru/timezones.asia.php

chukcha, и жить в прошлом/будущем/параллельной реальности, ибо такие данные - самые НЕнадежные.

Ссылка на комментарий
Поделиться на других сайтах

1. я предлагал запрашивать у юзера его регион и по нему получать время.

2. о geoip речи не было.

3. так и эдак geoip надежнее, чем глючная ОС юзера с просроченной датой и вечной полночью :ugeek:

Ссылка на комментарий
Поделиться на других сайтах

Всем спасибо за ответы.

сделал все более топорно.

Может решение и не самое лучшее, но работает. Напишу как сделал, может кому пригодится.

Взял у себя с сайта весь список регионов, проставил разницу во времени.

в файл admin/controller/sale/order.php, у меня после 1595 строки, добавил следующее:

if ($order_info['payment_zone'] == 'Республика Хакасия') {
$this->data['time_region'] = '+7';
} else if ($order_info['payment_zone'] == 'Московская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Чукотский АО') {
$this->data['time_region'] = '+12';
} else if ($order_info['payment_zone'] == 'Архангельская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Астраханская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Алтайский край') {
$this->data['time_region'] = '+6';
} else if ($order_info['payment_zone'] == 'Белгородская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Еврейская АО') {
$this->data['time_region'] = '+10';
} else if ($order_info['payment_zone'] == 'Амурская область') {
$this->data['time_region'] = '+9';
} else if ($order_info['payment_zone'] == 'Брянская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Чувашская Республика') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Челябинская область') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Карачаево-Черкеcсия') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Забайкальский край') {
$this->data['time_region'] = '+8';
} else if ($order_info['payment_zone'] == 'Ленинградская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Калмыкия') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Сахалинская область') {
$this->data['time_region'] = '+10';
} else if ($order_info['payment_zone'] == 'Республика Алтай') {
$this->data['time_region'] = '+6';
} else if ($order_info['payment_zone'] == 'Чеченская Республика') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Иркутская область') {
$this->data['time_region'] = '+8';
} else if ($order_info['payment_zone'] == 'Ивановская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Удмуртская Республика') {
$this->data['time_region'] = '+4';
} else if ($order_info['payment_zone'] == 'Калининградская область') {
$this->data['time_region'] = '+2';
} else if ($order_info['payment_zone'] == 'Калужская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Татарстан') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Кемеровская область') {
$this->data['time_region'] = '+7';
} else if ($order_info['payment_zone'] == 'Хабаровский край') {
$this->data['time_region'] = '+10';
} else if ($order_info['payment_zone'] == 'Ханты-Мансийский АО - Югра') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Костромская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Краснодарский край') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Красноярский край') {
$this->data['time_region'] = '+7';
} else if ($order_info['payment_zone'] == 'Курганская область') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Курская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Тыва') {
$this->data['time_region'] = '+7';
} else if ($order_info['payment_zone'] == 'Липецкая область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Магаданская область') {
$this->data['time_region'] = '+10';
} else if ($order_info['payment_zone'] == 'Республика Дагестан') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Адыгея') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Москва') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Мурманская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Кабардино-Балкария') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Ненецкий АО') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Ингушетия') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Нижегородская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Новгородская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Новосибирская область') {
$this->data['time_region'] = '+6';
} else if ($order_info['payment_zone'] == 'Омская область') {
$this->data['time_region'] = '+6';
} else if ($order_info['payment_zone'] == 'Орловская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Оренбургская область') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Пензенская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Пермский край') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Камчатский край') {
$this->data['time_region'] = '+12';
} else if ($order_info['payment_zone'] == 'Республика Карелия') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Псковская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Ростовская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Рязанская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Ямало-Ненецкий АО') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Самарская область') {
$this->data['time_region'] = '+4';
} else if ($order_info['payment_zone'] == 'Республика Мордовия') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Саратовская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Смоленская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Санкт-Петербург') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Ставропольский край') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Коми') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Тамбовская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Томская область') {
$this->data['time_region'] = '+6';
} else if ($order_info['payment_zone'] == 'Тульская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Тверская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Тюменская область') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Республика Башкортостан') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Ульяновская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Бурятия') {
$this->data['time_region'] = '+8';
} else if ($order_info['payment_zone'] == 'Республика Северная Осетия') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Владимирская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Приморский край') {
$this->data['time_region'] = '+10';
} else if ($order_info['payment_zone'] == 'Волгоградская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Вологодская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Воронежская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Кировская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Саха') {
$this->data['time_region'] = '+9';
} else if ($order_info['payment_zone'] == 'Ярославская область') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Свердловская область') {
$this->data['time_region'] = '+5';
} else if ($order_info['payment_zone'] == 'Республика Марий Эл') {
$this->data['time_region'] = '+3';
} else if ($order_info['payment_zone'] == 'Республика Крым') {
$this->data['time_region'] = '+3';
} else {
$this->data['time_region'] = 'err';
}

Затем в файле admin/view/template/sale/order_info.tpl вставляете следующий текст, туда где хотите чтобы выходило время


Время у покупателя:
if ($time_region <> 'err') {
$user_timezone = $time_region;
echo gmdate("H:i:s", time() + 3600*($user_timezone));
} else {
echo "Регион не найден";}
?>

Прошу сильно не пинать, решил свою задачу так, как смог)))))))

 

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.