Скрипт сравнения даты — выполняет условие, исходя из даты добавления (вариант 1) или завершения публикации материала (вариант 2). Скрипт простой, написан на языке JavaScript и служит небольшим дополнением для сайтов uCoz.
Благодаря отзывам моих читателей этот скрипт уже проверен в следующих модулях сайтов uCoz: Новости сайта, Каталог сайтов, Каталог файлов и Доска объявлений.
Скрипт сравнения даты для модулей Новости сайта, Каталог статей, Каталог файлов (вариант 1)
Суть: — скрипт сравнивает текущую дату с датой добавления материала. Если разница больше, чем 30 дней — выполняется одно условие, если меньше — другое. Количество дней (в моем скрипте 30) можно изменить на нужное вам.
Код скрипта:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<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), как раз и есть те 30 дней, о которых я писала ранее. Вы можете назначить свое количество дней от 1 до бесконечности.
Если 30 дней еще не прошло (менее 30) — выводится Условие 1, более 30 — выводится Условие 2.
Для примера приведу Вам вариант скрипта, который я употребляю на своем сайте в шаблоне «Вид материалов-Каталог файлов«:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<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 код заключен в круглые скобки и двойные кавычки;
— внутри двойных кавычек могут встречаться ТОЛЬКО одинарные кавычки;
— в конце строчки обязательно нужно поставить точку с запятой ;
Скрипт сравнения даты для модуля Доска объявлений (вариант 2)
Суть: — скрипт сравнивает текущую дату с датой окончания вывода материала. Если текущая дата меньше даты окончания вывода материала, тогда выполняется Условие 1, в других случаях выполняется Условие 2.
Код скрипта:
1 2 3 4 5 6 7 8 9 10 11 12 |
<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 — дата окончания вывода материала;
— эти две переменные и сравниваются между собой.
Если возникли какие-то вопросы, спрашивайте, не стесняйтесь, я буду только признательна Вам за проявленный интерес.
Доброго времени суток! Ищу скрипт который будет показывать что объявление можно поднимать (срок 1 поднятия 1 раз в семь дней)
Ваш скрипт почти подходит но он показывает немного не так как мне нужно — (считает врмя 7 дней с ПЕРВОЙ публикации) а нужно чтобы он начинал считать заново после каждого поднятия.
Типа красные часики это семь дней не прошло после последнего поднятия а зелёные что прошло и объявление можно поднять.
Я вообще изначально, пока не наткнулся на Ваш скрипт, хотел что бы рядом с кнопкой поднятия просто тикало обратное время (7 дней)
для поднятия объявлений использую такой скрипт, может можно из него нарезать что то.
Можете помочь в моём вопросе?
Владимир, мне очень жаль, но вот так, сходу помочь Вам не смогу, так как вплотную этой темой не занимаюсь.
Я сам разобрался !!!! всё очень просто нужно $TIMESTAMP$ поменять на $LASTMOD$ и после модификации будет то что нужно))