Вывести записи в указанный промежуток времени

Главные вкладки

Аватар пользователя lesik2006 lesik2006 3 декабря 2016 в 12:21

Приветствую!
Drupal 7 + Views Slideshow
Люди добрые, подскажите ответ.
Есть тип материала "Новости"
Есть слайдер Views Slideshow. Выводит ноды указанного выше типа.
Как сделать, чтобы пользователь мог указать количество дней или промежуток времени нахождения ноды в слайдере? Как выставить в фильтре конкретное число дней я знаю (-5 day, -1 month и т.п.), но это общее правило для всех нод, а нужно чтобы ноды автоматически снимались с показа в слайдере именно по указанному пользователем значению для каждой ноды. Типа "Важные новости". Одна висит 3 дня, другая 10 и т.п., если время просрочено - в слайдере ноды нет. Сама же нода так и остается опубликованной в разделе новостей независимо от данных условий. Может как-то можно настроить фильтры? Или через rules, но как? Подскажите хоть куда копать...

Спасибо

Лучший ответ

Аватар пользователя lesik2006 lesik2006 3 декабря 2016 в 22:51

да, все включено.
Я уже решил проблему с помощью Views PHP.
Созданное поле даты field_slider_until сравниваю с текущей датой. Промучался сутки, блин. Вот код, может кому пригодится:

<?php
$static 
node_load($data->nid);  
return (
strtotime($static->field_slider_until['und'][0]['value']) < strtotime(date('Y-m-d H:i:s')));
?>

Писать в поле Filter code без <?php ?>. Тут есть вариации по сравнению в зависимости от формата обоих дат. Но в общем так работает.

Комментарии

Аватар пользователя gun_dose gun_dose 3 декабря 2016 в 13:33
1

В ноду добавьте дату и по этому полю делайте фильтрацию, типа показать тех, у кого поле даты больше, чем "сейчас".

Аватар пользователя lesik2006 lesik2006 3 декабря 2016 в 17:21

Спасибо, но это слишком просто ))), такое возможно только с полем "Дата публикации", с дополнительной датой нет таких настроек.

Аватар пользователя lesik2006 lesik2006 3 декабря 2016 в 22:51

да, все включено.
Я уже решил проблему с помощью Views PHP.
Созданное поле даты field_slider_until сравниваю с текущей датой. Промучался сутки, блин. Вот код, может кому пригодится:

<?php
$static 
node_load($data->nid);  
return (
strtotime($static->field_slider_until['und'][0]['value']) < strtotime(date('Y-m-d H:i:s')));
?>

Писать в поле Filter code без <?php ?>. Тут есть вариации по сравнению в зависимости от формата обоих дат. Но в общем так работает.

Аватар пользователя lesik2006 lesik2006 4 декабря 2016 в 2:49

Нет не в контекстном. В контекстных настроить не получилось... Я в них не силен. Попробовал, но ничего не вышло