Модератор форума: JonMagon |
Сообщество uCoz Вебмастеру JavaScript, Flash и прочие технологии Автоматическое скрытие объявлений в каталоге сайтов |
Автоматическое скрытие объявлений в каталоге сайтов |
Здравствуйте можно ли узнать работает этот ли скрипт и как?И можно ли это сделать в каталоге сайтов!
Автоматическое скрытие неактуальных объявлений!Заранее спасибо! Код <?if($PAGE_ID$='add')?> <script> var toDays=7 var row=$('#bdM31') row.next().remove() row.remove(); var toDate=new Date($YEAR$,$MONTH$-1,$DAY$+toDays) $('#addEntForm').append("<input name='pya' type='hidden' value="+toDate.getFullYear()+ "><input name='pma' type='hidden' value="+(toDate.getMonth()+1)+ "><input name='pda' type='hidden' value="+toDate.getDate()+">") </script> <?endif?> <?if($PAGE_ID$='edit')?> <script> var row=$('#bdM31').hide().next().hide() </script> <?endif?> |
|
Татуированый, спасибо но я знаю что надо куда то вставить, но дело в что там не было инструкции...
![]() вот текст где нашел на этом форуме не помню в каком разделе но при установке он не работает вот и хотел бы его разобрать и понять что куда и установить на на разные модули помимо доски объявлений в католог файлов,сайтов и т.д Код Автоматическое скрытие неактуальных объявлений <?if($PAGE_ID$='add')?> <script> var toDays=7 var row=$('#bdM31') row.next().remove() row.remove(); var toDate=new Date($YEAR$,$MONTH$-1,$DAY$+toDays) $('#addEntForm').append("<input name='pya' type='hidden' value="+toDate.getFullYear()+ "><input name='pma' type='hidden' value="+(toDate.getMonth()+1)+ "><input name='pda' type='hidden' value="+toDate.getDate()+">") </script> <?endif?> <?if($PAGE_ID$='edit')?> <script> var row=$('#bdM31').hide().next().hide() </script> <?endif?>1 17 Ставить в шаблон страницы добавления-редактирования после кода $BODY$, число в строке toDays=7 задает "время жизни" объявлений в днях. Если прятать это поле от пользователей не надо, а надо только выставлять там другое значение по умолчанию, то скрипт надо будет переделать (вместо полной замены контролов выбирать в них нужные значения). вот текст полный который у меня просто сохранен в компе!ВСЁ ДЕЛАЮ ПО ИНСТРУКЦИИ НЕ РАБОТАЕТ! Сообщение отредактировал PC-MASTER - Четверг, 18 Июл 2013, 23:06:17
|
Опиши задачу? нужно срывать объявления, дата которых больше установленной автором, или какой принцип актуальности? Это не сложно вроде делается.
Можешь забрать этот код и вставить его себе, сам знаешь куда.
Сообщение отредактировал Head-Mad - Понедельник, 22 Июл 2013, 19:45:25
|
Например: пользователь добавил 22.07.2013 после 2 месяцев его объявление станет не активным 22.09.2013 если я его активирую то опять идёт отсчёт 2 месяца!!!Я хотел бы что бы это работала в модулях: каталоге файлов,доске объявлений,каталоге сайтов и т.д.Если это возможно!!!!Заранее Спасибо!!!
|
Для доски объявлений- там есть функция разместить до , но можно и по другому, с помощью условных операторов и небольшого js...
вид новости оборачиваем в div с атрибутом data-time="<?$LASTMOD$+5184000?>" 5184000 - это 60 дней в секундах (примерно 2 месяца) и в конец этого блока - ссылку для редактирования материалов администратором Код <div data-time="<?$LASTMOD$+5184000?>"> Тут шаблон вида материала <?if($CUR_GROUP_ID$=4)?><a href="/ [b][i]адрес модуля[/i] [/b]/0-0-0-$ID$-13" class="notActive">Материал не активен</a><?endif?></div> далее, на главную страницу, страницы со списком материалов раздела и категории, пишем следующий js: Код <script> $(document).ready(function(){ var unixTimestamp = Math.round(new Date().getTime() / 1000); $('div[data-time]').each(function(i){ var dataTime = $(this).attr('data-time'); if (unixTimestamp > dataTime) <?if($GROUP_ID$=4)?> {$(this).children('.notActive').css('display','block');} <?else?> { $(this).parent().remove();} <?endif?> } };); };); </script> и стили для ссылки редактирования материала Код <?if($GROUP_ID$=4)?> <style> .notActive{ display:none; height:40px; line-height:40px; text-align:center; text-decoration:none; color:#b50000; border:1px solid #b50000; background:#f69191} </style> <?endif?> Теперь у всех P.S: Метод далеко не универсальный. Но если бы вдруг ![]() Можешь забрать этот код и вставить его себе, сам знаешь куда.
Сообщение отредактировал Head-Mad - Вторник, 23 Июл 2013, 15:58:00
|
Head-Mad, Спасибо за помощь,но почему то не работает я время убираю примерно до 2 минут и не удаляется материал а на счёт $TIMESTAMP$ он есть в виде материалов во всех модулях!!!Что может не дописал и ли я что то не дописал!
Добавлено (23 Июл 2013, 23:28:51) |
PC-MASTER, ну не знаю, я попробовал, у меня- работает. В шаблонах материалов тех модулей, про которые ты говорил, $LASTMOD$ и $TIMESTAMP$ - есть, так что проблем быть не должно. Скинь ссылку где делал и не получилось.
Можешь забрать этот код и вставить его себе, сам знаешь куда.
|
Каталог сайтов может скрипт в одну строку где то надо прописать а тут он не правильно копирует а можешь кинуть ссылку где у тебя получилось!!!
|
Ничего не надо в одну строку. Все 4 материала- не старше 2х месяцев. В виде материала у div напиши data-time="<?$LASTMOD$+172800?>" и материалы старше двух дней должны скрыться.
Можешь забрать этот код и вставить его себе, сам знаешь куда.
|
|
Цитата (PC-MASTER) эти цыфры что означают +172800 Это 2 дня в секундах. Сори, лишняя скобка Код <script> $(document).ready(function(){ var unixTimestamp = Math.round(new Date().getTime() / 1000); $('div[data-time]').each(function(i){ var dataTime = $(this).attr('data-time'); if (unixTimestamp > dataTime) <?if($GROUP_ID$=4)?> {$(this).children('.notActive').css('display','block');} <?else?> { $(this).parent().remove();} <?endif?> };); };); </script> Можешь забрать этот код и вставить его себе, сам знаешь куда.
|
PC-MASTER, от даты редактирования материала. А если он не редактировался еще, то от даты добавления будет. Вместо этого числа можешь подставлять любое количество дней в секундах
Можешь забрать этот код и вставить его себе, сам знаешь куда.
|
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!