Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как вывести новости только на текущую и будущую дату?

Как вывести новости только на текущую и будущую дату?


     05.11.2016    Общие вопросы, Общие вопросы по PHP, Хаки, Ламерские вопросы    424

вопрос
Всем привет. Появилась потребность выводить новости на текущую и будущие даты на ДЛЕ 11.1. Да, у ДЛЕ есть возможность выводить публикации на ещё не наступившую дату, но в этом всем мне нужно ещё запретить вывод всех предыдущих новостей, т.е.:
1. Не выводим вчерашние и более давние новости;
2. Выводим новости за сегодня;
3. Выводим новости на завтра и другие будущие новости.

Если попробовать вывести при помощи
{custom template="" category="1"  date="1"}
выведет только за сегодня, спрятав все будущие новости.

Кто что может подсказать?

Ответа пока нет


Комментарии пользователей (3)

Верстала
4

96 | 13

Верстала - 5 ноября 2016 23:44 - Юзер

days указывает временной период, где x это количество дней за которые выводить публикации. Например, тег {custom days="2" limit="5"} выведет 5 новостей за 2 последних дня.

Serge
4

67 | 1

Serge - 6 ноября 2016 00:33 - Юзер

Это все равно не решает мой проблемы. У меня лимит стандартный стоит в 10 новостей

Serge
4

67 | 1

Serge - 6 ноября 2016 00:35 - Юзер

Пока что нашел следующий выход. В действии на ДЛЕ не пробовал, но суть, по идее, должна быть та же. Творил на jsfiddle, получилось следующее - http://jsfiddle.net/eayfth94/

Может кто-то адекватнее что-то придумает?

HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<div class="new">
<time class="date" datetime="2016-11-08"></time>
</div>

<div class="new">
<time class="date" datetime="2016-11-04"></time>
</div>

<div class="new">
<time class="date" datetime="2016-11-05"></time>
</div>


javascript
    var currentDate = new Date().toJSON().slice(0,10); 
    $("div.new").each(function() {
        $(this).find("time.date").each(function() {
      var date = $(this).attr("datetime");
       if (currentDate > date ) {
        $(this).parent().hide();
        }  
        else if (currentDate < date) {
        $(this).html("Новость больше датой");
        }
        else if (currentDate === date) {
        $(this).html("Дата сошлась!");
        }
      });
    });
        

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы