2015-11-11 11 views
0

У меня есть тип контента с полем даты (дата начала и окончания, всегда охватывает целый месяц), изображение и заголовок. Я использую представление с контекстным фильтром, чтобы получить месяц от URL (это выглядит как text/2015-10, text/2015-09, ...). Контекстный фильтр: Содержание: Месяц - дата начала (поле_месяц). Гранулярность устанавливается в месяц.Показаны предыдущие в следующем месяце относительно контекстного фильтра (используя D7 Date Views)

Я хочу сделать блок просмотра за предыдущий месяц и один на следующий месяц. И это предшествует или рядом с месяцем, который я получаю от контекстного фильтра. Я хочу использовать эти блоки как пейджер в предыдущий или следующий месяц, относительно месяца, который я получаю от URL-адреса с помощью контекстного фильтра. Не относительно сегодняшнего дня.

Для простого пейджера с текстом '< < prev' и 'next >>', я могу использовать пейджер: Страница по дате | Положение: снизу, формат: чистый. Но это только дает текст, я хочу показать название и миниатюру с моего представления в качестве пейджера. Но для этого мне нужен «следующий месяц» и «предыдущий месяц» относительно месяца из моего контекстного фильтра.

Возможно ли это с датой/датой? Я что-то упускаю?

+0

пожалуйста, сообщите нам об этом что ты уже испробовал. Может быть, образец кода будет хорошей идеей. –

+0

Я пробовал фильтр нормальных представлений для моего field_month, установлен на «Является равным« Относительная дата »в предыдущем месяце». Но это относительно сегодняшнего дня, а не даты от контекстного фильтра. Я пробовал модули Free Pager (https://www.drupal.org/project/freepager) и Предыдущий/Следующий API (https://www.drupal.org/project/prev_next), но те, t для предыдущего/следующего представления, только для узлов. –

ответ

0

Я думаю, что это один должен быть на drupal.stackexchange.com, но в любом случае:

  1. Создание пользовательского блока с hook_block_info() и hook_block_view()
  2. Извлечение даты из URL с помощью explode('/', request_path())
  3. Настройте дату в коде DATE-1M
  4. В вашем hook_block_view() установите выход на views_embed_view('VIEW_NAME', 'DISPLAY_ID', 'CHANGED_DATE') где:
    1. VIEW_NAME имя = машина зрения
    2. DISPLAY_NAME = имя машины дисплея (обычно block_1 или СТГ)
    3. CHANGED_DATE = строка, содержащая скорректированную дату
+0

Ой, извините. Я спрошу его на drupal.stackexhange.com (я думал, что он был связан, когда я пометил это с помощью Drupal). У меня нет опыта работы с 'hook_block_info()' и 'hook_block_view()', но я буду изучать его. Благодарю. –