Categories: uCoz

Скрипт сравнения даты для сайтов uCoz

Скрипт сравнения даты – выполняет условие, исходя из даты добавления (вариант 1) или завершения публикации материала (вариант 2). Скрипт простой, написан на языке JavaScript и служит небольшим дополнением для сайтов uCoz.
Благодаря отзывам моих читателей этот скрипт уже проверен в следующих модулях сайтов uCoz: Новости сайта, Каталог сайтов, Каталог файлов и Доска объявлений.

Скрипт сравнения даты для модулей Новости сайта, Каталог статей, Каталог файлов (вариант 1)

Суть: – скрипт сравнивает текущую дату с датой добавления материала. Если разница больше, чем 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 код заключен в круглые скобки и двойные кавычки;
– внутри двойных кавычек могут встречаться ТОЛЬКО одинарные кавычки;
– в конце строчки обязательно нужно поставить точку с запятой ;

Скрипт сравнения даты для модуля Доска объявлений (вариант 2)

Суть: – скрипт сравнивает текущую дату с датой окончания вывода материала. Если текущая дата меньше даты окончания вывода материала, тогда выполняется Условие 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 – дата окончания вывода материала;
– эти две переменные и сравниваются между собой.

Если возникли какие-то вопросы, спрашивайте, не стесняйтесь, я буду только признательна Вам за проявленный интерес.

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$ и после модификации будет то что нужно))

    • Владимир, мне очень жаль, но вот так, сходу помочь Вам не смогу, так как вплотную этой темой не занимаюсь.

Recent Posts

  • Excel

Как правильно открыть CSV с многострочными ячейками в Excel

Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More

% дней назад
  • Python

Загрузка проекта на Github и Автодеплой на сервер

Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More

% дней назад
  • Python
  • Полезная минутка

Миграция базы данных в проектах Python

Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More

% дней назад
  • Python

Команды Git – Шпаргалка по основным командам Git

Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More

% дней назад
  • Python

Установка PostgreSQL на сервер Ubuntu и подключение через pgAdmin

Установка PostgreSQL на сервер Read More

% дней назад
  • Полезная минутка

Как создать PrimaryKey для таблицы в PostgreSQL

Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More

% дней назад