Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Написать скрипт меняющий дату достаки + ещё

1. Нужен скрипт на страницу карточка товара, меняющий дату доставки товара после заданного времени. Здесь пример такого скрипта. http://lucestore.ru/product/10117  "Мы можем доставить эту люстру уже в среду, 22 августа, и т.д."
Дата должна меняться после заданного времени, допустим после 13.00 мск и учитывать рабочие и выходные дни. Скрипт написать и установить выделив текст в отдельные стили css

2. Нужно подправить страницу категорий.  Количество текста в описаниях разное, нужно сделать, чтобы текст длиннее определённого символов, или не помещающийся в заданную таблицу, обрезался. Пример такой страницы категорий в дефолтном шаблоне cleanshop.


Жду предложений





Если еще актуально, то готов сделать за 2000 рублей.


Попробуй так

в product_info в шаблоне темы где нужно вставь

{php}
$months = array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');

$now = time();

if((int)date('G')>=13){ // проверяем "час" - здесь меняйте час после которого менять
  echo 'доставка доступна '.date('j',$now+86400).' '.$months; //86400 это в секундах =1 сутки
}else{
  echo 'доставка доступна '.date('j',$now).' '.$months;
}
{/php}

Код рабочий, но насколько грамотно написан в плане php не могу сказать.

Гуру на этом сайте буду рад подсказке если что не так)


Рабочий-то он рабочий, только как работает?
Учитывает ли выходные дни, как требовалось?


Так это просто условие if добавить и всё. Просто выше ТС не указал каким образом и что учитывать это пример можно под себя каждому приспособить.


Очень сомневаюсь, что достаточно одного if.
Ну если Вы такой лихой спец, то, может, покажете обыкновенному программисту, как надо "просто условие if добавить и всё"...


Я не спец, а просто лихо предложил вариант)

Наброски есть и их можно использовать под себя.
Так что нужно чтобы если сегодня субботу или воскресенье то доставка в понедельник или что ?
Просто написано учитывать выходные. Опять же курьерские службы работают по разному кто то до 18 принимает кто то в субботу доставки на вторник кто то на понедельник.

Как вариант сливать субботу воскресенье на понедельник.

Как вариант сделать просто проверки date('w') день недель если w=0(т.е. сегодня воскресенье) вывести одно и если w=6 т.е. сегодня субботы вывести. Конечно может не лучший вариант, но тоже будет рабочий.


НУЖНО: доработать написанный Вами ранее в теме скрипт, добавив к нему один if.
НЕ НУЖНО: писать много лишних  фантазий типа "можно", "как вариант"...
НУЖНО: доработать написанный Вами ранее в теме скрипт, добавив к нему один if.  Что  работал так, как описано в первом посте. 

Детально, например, так:
1. В рабочий день
    1.1. До 12 часов показывает "можем доставить сегодня до 18 час"
    1.2. После 12 часов показывает "можем доставить до 13 час".
2. В нерабочий день показывает "можем доставить до 13 час".

Все это, напоминаю, хотелось бы минимальным изменением - добавлением одного if.


<?php
$months = array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$now = time();

if((int)date('G')>=12){
echo 'доставка доступна '.date('j',$now+86400).' '.$months;
}
elseif ((int)date('w') == 0 OR (int)date('w') == 6) {
echo 'Доставка доступна в понедельник';
}
else {
  echo 'доставка доступна '.date('j',$now).' '.$months;
}
?>

Может так попробовать ? Рабочий вариант одно условие elseif для удобства моно ещё массив $day к примеру создать и в него дни недели ('Воскресенье', 'Понедельник') занести и добавить вывод дня недели. К примеру доставка доступна 27 октября(понедельник)


В самом первом посте было сказано "учитывать рабочие и выходные дни".  Насколько я понимаю, Ваш последний вариант будет считать, например,  1 января 2013 года рабочим днем и предлагать доставку в этот день, что совсем неправильно.


Это не выходные, а праздничные дни  :D Выходные суббота и воскресенье.
Можно сделать и праздничные дни учитывать, но одним условием не ограничиться.


Во-первых, праздничные дня являются выходными, то есть нерабочими.
Во-вторых, бывают выходные за пределами субботних и воскресных дней, например, пятница 3 мая 2013 (см. http://www.rg.ru/2012/10/17/prazdniki-site-dok.html).
В-третьих, предложенное Вами решение неправильно  работает, даже если выходными считать только субботние и воскресные дни. 


Читаю Вашу ссылку

Перенести в 2013 году следующие выходные дни:

В 2014 году будет совершенно по другому и могут субботу сделать рабочим днем, а понедельник не рабочим.
Ваш вариат решения подобных проблем каждый год писать новый скрипт ? Или пользователь сам вводил праздничные дни и бралось след. рабочий день ?


Мой вариант - это вопрос уже другой.
Пока что моя цель - выяснить у Вас вопрос, поднимавшийся мной ранее, а именно:


Очень сомневаюсь, что достаточно одного if.
Ну если Вы такой лихой спец, то, может, покажете обыкновенному программисту, как надо "просто условие if добавить и всё"...


А самое простое Вы проигнорировали:

В-третьих, предложенное Вами решение неправильно  работает, даже если выходными считать только субботние и воскресные дни.


Я же неписал, что не профи в этом деле. Наколякол что получилось, кто хочет может использовать. Я же не продаю этот шедевр, а просто выложил как вариант от чего можно отталкиваться. Бесплатно и хоть так может кому пригодится.

PS. А почему не рабочий если не секрет, для меня просто интересно. Пробовал только что на лок машине вроде работает всё. Подставлял значение w 5 пятница и результат всё меняется. Странно, даже интересно стало.



Я же неписал, что не профи в этом деле.


Но писал в таком духе, что, мол, задача простейшая :


Так это просто условие if добавить и всё.




PS. А почему не рабочий если не секрет, для меня просто интересно. Пробовал только что на лок машине вроде работает всё. Подставлял значение w 5 пятница и результат всё меняется. Странно, даже интересно стало.



Тестируем 01.12.2012 06:00 СБ
Доставка доступна в понедельник

Тестируем 01.12.2012 18:00 СБ
доставка доступна 2 декабря

Тестируем 02.12.2012 06:00 ВС
Доставка доступна в понедельник

Тестируем 02.12.2012 18:00 ВС
доставка доступна 3 декабря

Тестируем 03.12.2012 06:00 ПН
доставка доступна 3 декабря

Тестируем 03.12.2012 18:00 ПН
доставка доступна 4 декабря

Тестируем 04.12.2012 06:00 ВТ
доставка доступна 4 декабря

Тестируем 04.12.2012 18:00 ВТ
доставка доступна 5 декабря

Тестируем 05.12.2012 06:00 СР
доставка доступна 5 декабря

Тестируем 05.12.2012 18:00 СР
доставка доступна 6 декабря

Тестируем 06.12.2012 06:00 ЧТ
доставка доступна 6 декабря

Тестируем 06.12.2012 18:00 ЧТ
доставка доступна 7 декабря

Тестируем 07.12.2012 06:00 ПТ
доставка доступна 7 декабря

Тестируем 07.12.2012 18:00 ПТ
доставка доступна 8 декабря

Тестируем 08.12.2012 06:00 СБ
Доставка доступна в понедельник

Тестируем 08.12.2012 18:00 СБ
доставка доступна 9 декабря

Тестируем 09.12.2012 06:00 ВС
Доставка доступна в понедельник

Тестируем 09.12.2012 18:00 ВС
доставка доступна 10 декабря

Тестируем 10.12.2012 06:00 ПН
доставка доступна 10 декабря

Тестируем 10.12.2012 18:00 ПН
доставка доступна 11 декабря

Тестируем 11.12.2012 06:00 ВТ
доставка доступна 11 декабря

Тестируем 11.12.2012 18:00 ВТ
доставка доступна 12 декабря

Тестируем 12.12.2012 06:00 СР
доставка доступна 12 декабря

Тестируем 12.12.2012 18:00 СР
доставка доступна 13 декабря

Тестируем 13.12.2012 06:00 ЧТ
доставка доступна 13 декабря

Тестируем 13.12.2012 18:00 ЧТ
доставка доступна 14 декабря

Тестируем 14.12.2012 06:00 ПТ
доставка доступна 14 декабря

Тестируем 14.12.2012 18:00 ПТ
доставка доступна 15 декабря

Тестируем 15.12.2012 06:00 СБ
Доставка доступна в понедельник

Тестируем 15.12.2012 18:00 СБ
доставка доступна 16 декабря

Тестируем 16.12.2012 06:00 ВС
Доставка доступна в понедельник

Тестируем 16.12.2012 18:00 ВС
доставка доступна 17 декабря

Тестируем 17.12.2012 06:00 ПН
доставка доступна 17 декабря

Тестируем 17.12.2012 18:00 ПН
доставка доступна 18 декабря

Тестируем 18.12.2012 06:00 ВТ
доставка доступна 18 декабря

Тестируем 18.12.2012 18:00 ВТ
доставка доступна 19 декабря

Тестируем 19.12.2012 06:00 СР
доставка доступна 19 декабря

Тестируем 19.12.2012 18:00 СР
доставка доступна 20 декабря

Тестируем 20.12.2012 06:00 ЧТ
доставка доступна 20 декабря

Тестируем 20.12.2012 18:00 ЧТ
доставка доступна 21 декабря

Тестируем 21.12.2012 06:00 ПТ
доставка доступна 21 декабря

Тестируем 21.12.2012 18:00 ПТ
доставка доступна 22 декабря

Тестируем 22.12.2012 06:00 СБ
Доставка доступна в понедельник

Тестируем 22.12.2012 18:00 СБ
доставка доступна 23 декабря

Тестируем 23.12.2012 06:00 ВС
Доставка доступна в понедельник

Тестируем 23.12.2012 18:00 ВС
доставка доступна 24 декабря

Тестируем 24.12.2012 06:00 ПН
доставка доступна 24 декабря

Тестируем 24.12.2012 18:00 ПН
доставка доступна 25 декабря

Тестируем 25.12.2012 06:00 ВТ
доставка доступна 25 декабря

Тестируем 25.12.2012 18:00 ВТ
доставка доступна 26 декабря

Тестируем 26.12.2012 06:00 СР
доставка доступна 26 декабря

Тестируем 26.12.2012 18:00 СР
доставка доступна 27 декабря

Тестируем 27.12.2012 06:00 ЧТ
доставка доступна 27 декабря

Тестируем 27.12.2012 18:00 ЧТ
доставка доступна 28 декабря

Тестируем 28.12.2012 06:00 ПТ
доставка доступна 28 декабря

Тестируем 28.12.2012 18:00 ПТ
доставка доступна 29 декабря

Тестируем 29.12.2012 06:00 СБ
Доставка доступна в понедельник

Тестируем 29.12.2012 18:00 СБ
доставка доступна 30 декабря

Тестируем 30.12.2012 06:00 ВС
Доставка доступна в понедельник

Тестируем 30.12.2012 18:00 ВС
доставка доступна 31 декабря

Тестируем 31.12.2012 06:00 ПН
доставка доступна 31 декабря

Тестируем 31.12.2012 18:00 ПН
доставка доступна 1 января


Источник



Copyright ShopOS