| Исключить из информера прошлогодние материалы | 
|  | 
| 
Дата: Суббота, 2016-02-06, 20:32 | Сообщение # 1Существует ли возможность как-то исключить из информера, который выводит материалы в случайном порядке, материалы добавленные позднее определенной даты?
 Есть возможность реализовать без PHP? Если нет, то кто может помочь с PHP?
 futurage.ru - ты либо читаешь нас, либо мне не о чем с тобой говорить.
 Сообщение отредактировал brabus - Суббота, 2016-02-06, 20:32 | 
| 
Дата: Воскресенье, 2016-02-07, 02:31 | Сообщение # 2Должно помочь такое решение: в настройках шаблона информера все содержимое заключить в условный блок 
 
 Код <?if(substr($DATE$,6)>=2015)?> Содержимое шаблона информера <?endif?> Тогда будут выводиться материалы только 2015 года и следующих годов.
 
 | 
| 
Дата: Воскресенье, 2016-02-07, 05:04 | Сообщение # 3Ну, смотри, я уже думал сделать так.
 Допустим, в информере стоит вывод пяти материалов в случайном порядке, если по случайности все 5 материалов оказываются 2015 года(которые нам не нужны), не получится ли так, что на их месте просто останется пустое место, а не другие материалы?
 Добавлено (07.02.2016, 04:39)---------------------------------------------
 В общем, я сейчас протестирую и отпишусь
  Добавлено (07.02.2016, 04:43)---------------------------------------------
 Не работает, дело даже не в моем предположении, видимо система не воспринимает дату за исчисляемое число, отсюда и не работает >=
 Добавлено (07.02.2016, 04:46)---------------------------------------------
 Вот такой ответ от поддержки.
 
 
 Цитата К сожалению в данный момент невозможно сделать вашу задумку с помощью системных переменных. В шаблоне информера недоступны некоторые  необходимые коды, с помощью которых можно было-бы сделать подсчет и  построить условие.  Вы можете добавить предложение на сайте http://all.uwishlist.ru/  по расширению данного функционала в информерах.Добавлено (07.02.2016, 05:04)---------------------------------------------
 Нашел на одном сайте вот такое решение на JS,
 
 
 Код //сортировка и вывод популярных новостей за последние дниa = new Date();
 date=Date.parse(a);
 $('#content2 .news-det').each(function(){
 c = $(this).text().replace( /(\d{2}).(\d{2}).(\d{4})/, "$2/$1/$3");
 newdate = Date.parse(c);
 res = (date-newdate)/86400000;
 
 if(res>15){
 $(this).parent().parent().remove();
 if($('#content2').children().length ==0){
 $('#content2').append('<p>Нет популярных новостей</p>');
 }
 }
 });
 Помогите разобраться
   futurage.ru - ты либо читаешь нас, либо мне не о чем с тобой говорить.
 | 
| 
Дата: Воскресенье, 2016-02-07, 10:44 | Сообщение # 4Тогда нужно преврать в исчисляемое. Там есть какой-то оператор, чтобы такое провернуть. Вроде int, но он округляет.
 Я имею ввиду такой код, но вместо int может что-то другое:
 
 
 Код <?if(int(substr($DATE$,6))>=2015)?> Содержимое шаблона информера <?endif?>Помог? Ставь
  или поддержи проект. | 
| 
Дата: Воскресенье, 2016-02-07, 14:01 | Сообщение # 5Цитата Не работает, дело даже не в моем предположении, видимо система не воспринимает дату за исчисляемое число, отсюда и не работает >=Не работает, скорее всего, из-за того, что у Вас стоит другой формат даты. Данный код для формата даты dd.mm.yyyy.
 
 Еще можно попробовать опираться не на дату, а на ID материала, и выводить новости, ID материала которых больше заданного.
 
 Например, вот так:
 
 
 Код <?if($ID$>ID материала)?> <?endif?>
 Но это все не совсем то - во всех случаях (и с датой, и с ID) материал просто не будет выводиться (т.е если у Вас, например, информер выводит 5 случайных материалов и 3 из них не подходят по условию ID или даты, то будет выведено 2 материала). И если все 5 материалов не будут подходить, то, соответственно, ничего не будет выводиться.
 
 Возможно, Вам это как-то поможет
   
 | 
| 
Дата: Воскресенье, 2016-02-07, 14:32 | Сообщение # 6Нашел на одном сайте вот такое решение на JS,
 
 Цитата //сортировка и вывод популярных новостей за последние дниa = new Date();
 date=Date.parse(a);
 $('#content2 .news-det').each(function(){
 c = $(this).text().replace( /(\d{2}).(\d{2}).(\d{4})/, "$2/$1/$3");
 newdate = Date.parse©;
 res = (date-newdate)/86400000;
 
 if(res>15){
 $(this).parent().parent().remove();
 if($('#content2').children().length ==0){
 $('#content2').append('<p>Нет популярных новостей</p>');
 }
 }
 });
 
 Помогите разобраться
   futurage.ru - ты либо читаешь нас, либо мне не о чем с тобой говорить.
 | 
| 
Дата: Воскресенье, 2016-02-07, 15:24 | Сообщение # 7up / тоже интересует создания информера с выводом материалов за неделю, месяц, год и тд.
 
 | 
| 
Дата: Воскресенье, 2016-02-07, 15:29 | Сообщение # 8Так вот я привел скрипт, взял его с сайта на ucoz, где реализовано подобное решение)
 futurage.ru - ты либо читаешь нас, либо мне не о чем с тобой говорить.
 | 
| 
Дата: Среда, 2016-02-10, 19:27 | Сообщение # 9да да, вопрос интересный...Добавлено (10.02.2016, 19:27)---------------------------------------------
 up, ну что там?)
 гуляю на Webo4ka.Ru:)
 
 | 
| 
Дата: Четверг, 2016-02-11, 02:10 | Сообщение # 10Вовчик На этом форуме с этим справиться можешь только ты) Потому и тихо
 futurage.ru - ты либо читаешь нас, либо мне не о чем с тобой говорить.
 | 
| 
Дата: Четверг, 2016-02-11, 08:36 | Сообщение # 11Можем написать скрипт не трудный!... Но тут фактор всегда один бесплатно что либо делать никто не хочет.
 Напишем сайт, скрипт - любой тематики и сложности, в макс. быстрые сроки!.. Предоставляем SEO услуги для продвижения групп и сайтов!. За подробностями обращайтесь по Контактам: vk.com/frilanser | Skype: spammrac ...
 | 
| 
Дата: Четверг, 2016-02-11, 17:13 | Сообщение # 12А зачем?) я же предоставил скрипт)))Добавлено (11.02.2016, 17:13)---------------------------------------------
 Или вы мои сообщения мимо ушей (глаз) пропускаете?
  futurage.ru - ты либо читаешь нас, либо мне не о чем с тобой говорить.
 | 
| 
Дата: Пятница, 2016-02-12, 00:30 | Сообщение # 13Немного покопался в скрипте.Если в диве с классом .news-det будет дата меньше чем 15 дней от текущей, то новость не выведется, а если все новости старые, то выведется сообщение о том, что "Нет новостей". Надеюсь помог вам :)
 
 
 Код <div id="content2">
 <div class="news">
 <div class="op">Описание</div>
 <div class="news-det">20.02.2016</div>
 </div>
 
 <div class="news">
 <div class="op">Описание</div>
 <div class="news-det">20.01.2016</div>
 </div>
 
 </div>
 
 <script type="text/javascript">
 // вывод новостей за 15 дней, vglad edited
 a = new Date();
 date=Date.parse(a);
 $('.news .news-det').each(function(){
 c = $(this).text().replace( /(\d{2}).(\d{2}).(\d{4})/, "$2/$1/$3");
 newdate = Date.parse(c);
 res = (date-newdate)/86400000;
 
 if(res>15){
 $(this).parent().remove();
 if ($('#content2').find('*').length == 0) {
 $('#content2').append('<p>Нет новостей</p>');
 }
 }
 });
 </script>
 Сообщение отредактировал vGlad - Пятница, 2016-02-12, 02:01 |