Date Picker для фильтра во Views 3 на Drupal 7

Встречаются такие задачи, когда после безуспешного поиска нужного модуля понимаешь, что было бы гораздо быстрее написать свой. Недавно мне пришлось перепробовать несколько громоздких модулей, чтобы добавить простую функциональность — выбор даты из выпадающего Date Picker в exposed фильтре Views. Итогом моих экспериментов стал отказ от сторонних модулей и написание кода на несколько строк, которым и хочу с вами поделиться.

Я создал руками view по всем типам содержимого с фильтром по дате создания ноды, вам же предлагаю воспользоваться файлом, который я приложил к статье simple_node_view.txt. Можно импортировать его в разделе Views, чтобы не тратить время.

Уделю внимание настройкам exposed фильтра:

Важно указать, какой оператор для отбора использовать и то, что будет использован понятный машине формат даты в качестве значения фильтра. Рекомендую использовать оператор «больше чем или равен» (Is greater than or equal to).

Заранее договоримся о том, что будем работать с датой формата mm/dd/YY. Как я понял, фильтр будет работать со всеми форматами дат, которые распознает PHP функция strtotime. Я ввожу такое ограничение лишь потому, что jQuery UI DatePicker формирует дату именно в этом формате по-умолчанию, хотя это можно изменить, и в официальных примерах этой библиотеки описано, как это легко сделать.

Итак, я надеюсь, что к этому моменту вы импортировали, заготовленную мной вьюху. А это значит, что у вас теперь есть отдельная страница /simple-node-view, которая выглядит примерно как на картинке.

Можно попробовать фильтр. Только дату пока нужно вводить руками, а это жутко неудобно.

Пара строчек кода исправит ситуацию.