Перейти к содержанию
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, и жить в прошлом/будущем/параллельной реальности, ибо такие данные - самые НЕнадежные.

Поделиться сообщением


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

Условно geo ip также не надежно

Поделиться сообщением


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

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 "Регион не найден";}
?>

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

 

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От MaxD
      1 300.00 руб
      Скачать/Купить дополнение


      MX Shipping Master
      Внимание! Я забросил этот модуль и больше его не поддерживаю. Покупайте на свой страх и риск.
      С помощью этого модуля можно решить практически любые задачи, связанные с доставкой. Особенно если их специфика не позволяет использовать готовое решение. Он позволяет
      создавать новые методы доставки и изменять старые
      задавать формулу стоимости доставки
      описывать сложную логику или использовать внешние данные с помощью скрипта PHP
      добавлять логотип и ориентировочное время доставки к методу
      показывать стоимость доставки на странице товара


      Пример страницы товара:

      Демо админки:

      Полностью русифицирован, поддерживает мультиязычные магазины.
      Работает с ocStore, OpenCart 1.5+, OpenCart 2.0+
      Примеры скриптов:
      Добавил MaxD Добавлено 31.01.2015 Категория Доставки Системные требования Сайт разработчика Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • От Siciliez
      Всем привет!
      Подскажите, пожалуйста, в чем может быть проблема?
      Когда проваливаюсь в карту товара всплывает окно "Choose Time" и надо устанавливать время.
      Закрыть или по другому окно не получается.
      Скрин во вложении.
       

    • От Siciliez
      помогите разобраться. Когда захожу в товар, сращу всплывает окно (choose time) и никак его обрать нельзя. Как его модно убрать?

    • От MaxD
      Внимание! Я забросил этот модуль и больше его не поддерживаю. Покупайте на свой страх и риск.
      С помощью этого модуля можно решить практически любые задачи, связанные с доставкой. Особенно если их специфика не позволяет использовать готовое решение. Он позволяет
      создавать новые методы доставки и изменять старые
      задавать формулу стоимости доставки
      описывать сложную логику или использовать внешние данные с помощью скрипта PHP
      добавлять логотип и ориентировочное время доставки к методу
      показывать стоимость доставки на странице товара


      Пример страницы товара:

      Демо админки:

      Полностью русифицирован, поддерживает мультиязычные магазины.
      Работает с ocStore, OpenCart 1.5+, OpenCart 2.0+
      Примеры скриптов:
    • От Vadya25
      Здравствуйте.
      Opencart 2.0.1.1
      Подскажите, реально ли сделать чтобы опцию можно было бы выбрать один только раз.
      Например дата и время доставки, чтобы человек выбрал ее и все. Больше ему не пришлось бы выбирать для каждого товара каждый раз.
      Заранее спасибо
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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