Jump to content
Sign in to follow this  
Zavik21

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

Recommended Posts

Добрый день!

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

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

Share this post


Link to post
Share on other sites

спрашивать город/регион и по этим данным выводить время.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By 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  
    • By Siciliez
      Всем привет!
      Подскажите, пожалуйста, в чем может быть проблема?
      Когда проваливаюсь в карту товара всплывает окно "Choose Time" и надо устанавливать время.
      Закрыть или по другому окно не получается.
      Скрин во вложении.
       

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

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


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

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

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

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.