Пейджинг представления на основе поля группировки?


8

Я обновляю сайт, который я создал 2 года назад, с D6 до D7. На этом сайте у меня есть представление элементов, сгруппированных по годам, так что элементы для каждого года отображаются на отдельной странице - вы пропускаете представление года, и в нем отображаются соответствующие узлы для этого года. Мне нужно иметь ссылки «предыдущий год» и «следующий год», которые будут ссылаться на страницы, которые показывают узлы за предыдущий или следующий год, в зависимости от ситуации.

Я сделал это на старом (D6) сайте, позволив заголовку отображать код PHP (используя фильтр PHP), выполняя математические операции для переданного параметра "year", и записывая ссылку на следующий и предыдущий годы в необработанном виде. HTML. Это кажется неправильным - очень не Drupal - но я не могу понять, как получить представления, чтобы сделать это более естественным образом.

Мне кажется, что я хотел бы использовать что-то вроде поля группировки (из «Формат / Настройки») за исключением того, что вместо простого размещения заголовка между сгруппированными узлами (что в моем случае привело бы к странице с более чем тысячей узлов отображается) он разделил бы их на страницы на основе этого поля группировки.

Любые идеи?

Я нашел несколько пунктов, которые указывают на возможный ответ. Есть этот предыдущий вопрос:

Нумерация просмотров по терминам таксономии

Мои годы также являются терминами таксономии, так что это сработало бы для меня, если бы на вопрос когда-либо отвечали как заданные. Хотя нет никакого реального ответа, есть указатель на эту очень хорошую статью Эрла Майлза:

http://drupalwatchdog.com/1/1/how-to-create-new-features-in-views-3

Это ОЧЕНЬ близко к моему варианту использования, и я думаю, что если потребуется, я могу попытаться создать плагин Views, основанный на инструкциях Эрла, но я надеюсь на что-то более простое. Я предпочел бы использовать плагин, чем написать один!

(В статье Эрл говорит, что код для плагина можно найти по адресу http://drupal.org/project/views_plugin_examples , но когда я иду в этот проект, он кажется пустым.)

В любом случае, это выглядит как «решенная проблема» - но я не могу найти решение! Любые указатели, прежде чем я изобрету колесо?


Обновление: мне удалось найти код для модуля "views_pager_month", который Эрл описывает в своей статье, перейдя на вкладку "Контроль версий" проекта и следуя инструкциям, чтобы открыть его с помощью git. Я посмотрю, насколько близко это будет к удовлетворению моих потребностей. Но ... я не хочу никого отговаривать делать предложения!
cellear

И вы сделали из этого хороший модуль? ;)
Турион

Ответы:



0

Самый простой способ: использовать представления резюме . Вы можете поместить его как вложение сразу после основного вида и оформить его как пейджер.


К сожалению, ссылка не работает. Можете ли вы как-то перефразировать, что в нем содержится?
leymannx

@leymannx исправил ссылку. Я в порядке с расширением ответа, изменения приветствуются.
Capi Etheriel
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.