Скрипт сравнения даты – выполняет условие, исходя из даты добавления (вариант 1) или завершения публикации материала (вариант 2). Скрипт простой, написан на языке JavaScript и служит небольшим дополнением для сайтов uCoz.
Благодаря отзывам моих читателей этот скрипт уже проверен в следующих модулях сайтов uCoz: Новости сайта, Каталог сайтов, Каталог файлов и Доска объявлений.
Суть: – скрипт сравнивает текущую дату с датой добавления материала. Если разница больше, чем 30 дней – выполняется одно условие, если меньше – другое. Количество дней (в моем скрипте 30) можно изменить на нужное вам.
Код скрипта:
<div id="usl1" style="display:none;">Условие 1</div>
<div id="usl2" style="display:none;">Условие 2</div>
<script type="text/javascript">
var date = new Date().getTime() / 1000 / 60 / 60 / 24;
datem=$TIMESTAMP$ /60 / 60 / 24;
var diff = (date-datem);
if(diff<30) {document.getElementById('usl1').style.display = 'block';}
else
{document.getElementById('usl2').style.display = 'block';}
</script> Скрипт вставляете в нужный шаблон нужного модуля. Обычно это или Вид материалов или Страница материала и комментариев к нему.
Цифра 30 (в условии diff), как раз и есть те 30 дней, о которых я писала ранее. Вы можете назначить свое количество дней от 1 до бесконечности.
Если 30 дней еще не прошло (менее 30) – выводится Условие 1, более 30 – выводится Условие 2.
Для примера приведу Вам вариант скрипта, который я употребляю на своем сайте в шаблоне “Вид материалов-Каталог файлов“:
<script type="text/javascript">
var date = new Date().getTime() / 1000 / 60 / 60 / 24;
datem=$TIMESTAMP$ /60 / 60 / 24;;
var diff = (date-datem);
if(diff<30) {
document.write("<a href='$RFILE_URL$'><img src='http://mp3-4-mobile.ucoz.com/img/buy_button.gif' height='50'></a>");
}
else
{
document.write("<a href='$FILE_URL$'><img src='http://mp3-4-mobile.ucoz.com/img/Download1.gif' height='50'></a>");
}
</script> В моем варианте скрипта при выполнении/не выполнении условия, выводятся разные ссылки, одна из них с оплатой за скачивание файла, вторая – бесплатное скачивание.
Таким образом, данный скрипт помог мне автоматизировать переход ссылки на скачивание файла с платной в бесплатную.
document.write выводит необходимое условие:
– первое document.write, если 30 дней еще не прошло – менее 30 – выводится одно условия (в моем случае ссылка)
– второе – более 30 – выводится другое условие (другая ссылка)
Вы, конечно, можете создавать свои условия.
document.write выводит любой HTML код, НО!!! нужно быть очень внимательным с кавычками и другими знаками:
– весь код document.write должен быть написан ТОЛЬКО в одну строку;
– сам HTML код заключен в круглые скобки и двойные кавычки;
– внутри двойных кавычек могут встречаться ТОЛЬКО одинарные кавычки;
– в конце строчки обязательно нужно поставить точку с запятой ;
Суть: – скрипт сравнивает текущую дату с датой окончания вывода материала. Если текущая дата меньше даты окончания вывода материала, тогда выполняется Условие 1, в других случаях выполняется Условие 2.
Код скрипта:
<div id="usl1" style="display:none;">Условие 1</div>
<div id="usl2" style="display:none;">Условие 2</div>
<script type="text/javascript">
var date = new Date().getTime();
var text = "$PLACED_TILL$";
var d = new Date(text.replace(/(\d+).(\d+).(\d+)/, '$3/$2/$1'));
last=(Date.parse(d));
if(date<last) {document.getElementById('usl1').style.display = 'block';}
else {document.getElementById('usl2').style.display = 'block';}
</script> где:
date – текущая дата;
last – дата окончания вывода материала;
– эти две переменные и сравниваются между собой.
Если возникли какие-то вопросы, спрашивайте, не стесняйтесь, я буду только признательна Вам за проявленный интерес.
Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More
Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More
Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More
Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More
Установка PostgreSQL на сервер Read More
Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More
View Comments
Доброго времени суток! Ищу скрипт который будет показывать что объявление можно поднимать (срок 1 поднятия 1 раз в семь дней)
Ваш скрипт почти подходит но он показывает немного не так как мне нужно - (считает врмя 7 дней с ПЕРВОЙ публикации) а нужно чтобы он начинал считать заново после каждого поднятия.
Типа красные часики это семь дней не прошло после последнего поднятия а зелёные что прошло и объявление можно поднять.
Я вообще изначально, пока не наткнулся на Ваш скрипт, хотел что бы рядом с кнопкой поднятия просто тикало обратное время (7 дней)
для поднятия объявлений использую такой скрипт, может можно из него нарезать что то.
Можете помочь в моём вопросе?
timeDiff=Math.round(((new Date($YEAR$,parseInt('$MONTH$')-1,parseInt('$DAY$'),parseInt(''),parseInt(''))).getTime() - (new Date()).getTime())/1000)+30; function currTime(){ var time=Math.round((new Date()).getTime()/1000); if(window.timeDiff) time+=window.timeDiff; return time;} function n2(num){ return (num 0) { var minutes=secLeft/60; var hours=minutes/60; var days=hours/24; var nextD=new Date(); nextD.setTime(nextTS*1000); var nextDay=n2(nextD.getDate())+'.'+n2(nextD.getMonth()+1)+'.'+nextD.getFullYear(); var nextTime=nextD.toTimeString().substr(0,5); var txt='Поднимать объявление можно не чаще чем раз в неделю.\n\n'+ 'Это объявление можно будет поднять через ' + (days >= 1 ? '' + Math.round(days) + (days < 1.5 ? ' день' : (days 0.8 ? '' + Math.round(hours) + ' час.,' : '' + (Math.round(minutes)+1) + ' мин.,')) + ' после ' + nextTime ; alert( txt ); return;} var btnSrc; var oBtn; if(oLink){ oLink.>Я сам разобрался !!!! всё очень просто нужно $TIMESTAMP$ поменять на $LASTMOD$ и после модификации будет то что нужно))
Владимир, мне очень жаль, но вот так, сходу помочь Вам не смогу, так как вплотную этой темой не занимаюсь.