zvrv (02 Июнь 2013 - 22:25) писал:
Подскажите как сделать так, чтобы этот скрипт при наступлении 18:00 по МСК прибавлял к date_curr один день?
Присоединяюсь к вопросу. И еще вопрос - как сделать так, чтобы параметр "pd" передавать в функцию извне. Нужно для разных регионов доставки. Например если определился регион Москва, то параметр передается "pd=0", а если Новосибирск, то "pd=10".
И еще в хотелки, если не сложно, указывать вместо числа, например
Сегодня! или
Завтра! если доставка получается на сегодня с учетом текущего времени.
Вобщем сам спросил - сам ответил)
Что делает данная доработка
1. Определяет с помощью Яндекса город посетителя (смотрите соответствующую тему по добавлению геотаргеттинга Яндекса) - поэтому составляем список городов со сроками доставки - например Москва
pd=0 , СПБ
pd=3 и так далее
2. Если определен родной город т.е. если выбралось
pd=0, то если текущее время меньше чем 14 часов (условие
if (hour_new<14) { ) - то в дате доставки будет написно
Сегодня! если условие не выполняется т.е. уже время например 14-10 то в поле ближайшей доставки будет написано
Завтра! . При остальных условиях
pd больше
0 указывается срок доставки числами как в исходном скрипте
3. Вставляется данная доработка также как и исходный скрипт - в шапку шаблона
Товары
4. Еще конечно есть поле для доработки такие как текущий часовой пояс пользователя итд
<script>
$(function() {
if ( !YMaps.location )
var pd = 10; // если геотаргеттинг не стоит то прибавляется 10 дней к текущей дате
else if (YMaps.location.city == 'Москва')
var pd = 0; // если определилась Москва то не прибавляется дней к текущей дате
else if (YMaps.location.city == 'Санкт-Петербург')
var pd = 3; //если определился СПБ то прибавляется три дня к текущей дате
else
var pd = 15; // если яндекс не смог определить регион посетителя прибавляется 15 дней к текущей дате
var month = new Array(12);
month[0] = "января";
month[1] = "февраля";
month[2] = "марта";
month[3] = "апреля";
month[4] = "мая";
month[5] = "июня";
month[6] = "июля";
month[7] = "августа";
month[8] = "сентября";
month[9] = "октября";
month[10] = "ноября";
month[11] = "декабря";
var date_curr = new Date();
var date_next = new Date();
var date_new = new Date();
var hour_new = date_new.getHours();
date_curr.setDate(date_next.getDate()+pd);
var day_curr = date_curr.getDate();
date_next.setDate(date_next.getDate()+(pd + 1));
var day_next = date_next.getDate();
if (pd==0) {
if (hour_new<14) {
$(".date").text("Сегодня!");
}
else
{
$(".date").text("Завтра!");
}
}
else {
$(".date").text(day_curr +" "+ (month[date_curr.getMonth()]) + " - " + (day_next) +" "+(month[date_next.getMonth()]));
}
});
</script>
Сообщение отредактировал RuslanJ: 10 Июнь 2013 - 16:02